日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > DedeCMS > 打造PHPCMS的個性驗證碼(修改攻略)

打造PHPCMS的個性驗證碼(修改攻略)

來源:程序員人生   發布時間:2014-05-21 13:30:43 閱讀次數:2780次

網(LieHuo.Net)教程 論壇逛久了,發現很多人對phpcms默認的驗證碼不滿意,下面結合我的經驗,談談phpcms驗證碼修改方法(適于所有版本)。

phpcms2008sp2為例,主要是修改根目錄下的checkcode.php文件。
下面提到的行數是相對官方原版checkcode.php文件,如你已改過該文件,請搜索對應代碼修改即可。

1、修改驗證碼背景圖片的大小:
找到3132
$imageX = strlen($radomstring)*8;  //
驗證碼圖片的寬度,修改成你需要的值

$imageY = 20;  //
驗證碼圖片的高度,修改成你需要的值

2、修改驗證碼背景圖片的背景色:
找到46行:imagefill($im, 0, 0, imagecolorallocate($im, 250, 253, 254));
修改第二個()里的三個數字為你需要的背景顏色(色彩三原色,其值從 0 255)。

3、修改驗證碼的位數:
以修改為5位為例(默認是4位),找到第48-51
imagettftext($im, 12, rand(30, -30), 5, rand(14, 16), $foregroundArr[rand(0,3)], PHPCMS_ROOT.'include/fonts/ALGER.TTF', $string[0]);
imagettftext($im, 12, rand(50, -50), 20, rand(14, 16), $foregroundArr[rand(0,3)], PHPCMS_ROOT.'include/fonts/ARIALNI.TTF', $string[1]);

imagettftext($im, 12, rand(50, -50), 35, rand(14, 16), $foregroundArr[rand(0,3)], PHPCMS_ROOT.'include/fonts/ALGER.TTF', $string[2]);

imagettftext($im, 12, rand(30, -30), 50, rand(14, 16), $foregroundArr[rand(0,3)], PHPCMS_ROOT.'include/fonts/arial.ttf', $string[3]);
      
1)增加一行,并將相關變量數值增加
imagettftext($im, 12, rand(30, -30), 5, rand(14, 16), $foregroundArr[rand(0,4)], PHPCMS_ROOT.'include/fonts/ALGER.TTF', $string[0]);

imagettftext($im, 12, rand(50, -50), 20, rand(14, 16), $foregroundArr[rand(0,4)], PHPCMS_ROOT.'include/fonts/ARIALNI.TTF', $string[1]);

imagettftext($im, 12, rand(50, -50), 35, rand(14, 16), $foregroundArr[rand(0,4)], PHPCMS_ROOT.'include/fonts/ALGER.TTF', $string[2]);

imagettftext($im, 12, rand(30, -30), 50, rand(14, 16), $foregroundArr[rand(0,4)], PHPCMS_ROOT.'include/fonts/arial.ttf', $string[3]);

imagettftext($im, 12, rand(30, -30), 65, rand(14, 16), $foregroundArr[rand(0,4)], PHPCMS_ROOT.'include/fonts/arial.ttf', $string[4]);

2修改第29$_SESSION['checkcode'] = $string = substr($radomstring,0,4); //only display 4 str
$_SESSION['checkcode'] = $string = substr($radomstring,0,5); //only display 5 str
3)修改第28$radomstring = $const[0] . $vow[0] .$const[2] . $const[1] . $vow[1] . $const[3] . $vow[3] . $const[4];
$radomstring = $const[0] . $vow[0] .$const[2] . $const[1] . $vow[1] . $const[3] . $vow[3] . $const[4]. $const[5];
通過以上三步即可修改驗證碼的位數,以此類推可將驗證碼修改成678等多位。注:驗證碼位數過多時,可能只顯示前幾位,這時要把驗證碼背景圖片的寬度設寬點。

4、修改驗證碼字體大小和樣式:
找到第48-51行,每一行控制一個驗證碼字符的樣式(以第48行為例,即第一個驗證碼字符):
imagettftext($im, 12, rand(30, -30), 5, rand(14, 16), $foregroundArr[rand(0,3)], PHPCMS_ROOT.'include/fonts/ALGER.TTF', $string[0]);

說明:修改驗證碼字體大小和樣式時,可能顯示不全,這時需要綜合調整下述幾點的參數及驗證碼背景圖片的寬度和高度等。      
1)修改驗證碼字體大小:
第48行imagettftext($im, 12, 中的“12”即為字體大小,數值越大字體越大
2)修改驗證碼字符的左右傾斜度:
第48行imagettftext($im, 12, rand(30, -30), 中的“rand(30, -30) 為驗證碼字符的左右傾斜度,調整括號里面的數字可改變字符向左和向右的傾斜程度。
3)修改驗證碼字符間的距離:
第48行imagettftext($im, 12, rand(30, -30), 5,中的“5”為每個驗證碼字符離左側的距離,通過改變數值看調整每個驗證碼間的距離。
4)修改驗證碼字符的上下漂移度:
第48行imagettftext($im, 12, rand(30, -30), 5, rand(14, 16),中的“rand(14, 16) 為驗證碼字符的上下漂移度,調整括號里面的數字可改變字符向上和向下的漂移程度。
5)修改驗證碼的字體:
第48行PHPCMS_ROOT.'include/fonts/ALGER.TTF',中的“ALGER.TTF”為每個驗證碼字符的字體,存放在include/fonts文件夾中,把你喜歡的字體文件放在該文件夾,然后修改對應的行即可。

5、修改驗證碼圖片邊框顏色:
找到第55行:$border = imagecolorallocate($im, 133, 153, 193);修改()里的三個數字為你需要的邊框顏色

6、修改上的小點的顏色:
找到第59行:$pointcol = imagecolorallocate($im, rand(0,255), rand(0,255), rand(0,255));修改()里的數字為你需要的小點顏色范圍

7、其他修改:
以上講到的六點是比較實用的,至于其他的修改(如:驗證碼字母和數字內容、圖像分配顏色、隨機顯示的線段和橢圓等)這里就不一一累述。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产传媒一区二区三区 | 一区在线不卡 | 久久久精品 | 国精产品一区二区 | 九九综合九九 | 久久国内视频 | 狠狠一区| 最新国产精品精品视频 | 国产免费a| 黄色大片免费看 | 综合久久久久久久久久 | 91精品一区二区三区久久久久久 | 午夜精品久久久久 | 亚洲成人在线网站 | 午夜精品福利一区二区三区蜜桃 | 亚洲欧洲成人av每日更新 | 久久久国产精品ⅴa麻豆ai换脸 | 久久精品国产一区二区电影 | 国产精品18久久久久久久网站 | 欧美成人xxx | 欧美精品成人一区二区三区四区 | 国产一区中文字幕 | 伊人成人在线视频 | 久久久久久久久久久久久9999 | 99免费观看视频 | 激情综合激情五月 | 黄色片免费网址 | 麻豆视频免费在线播放 | 在线看的毛片 | 成人免费视频网 | 91精品国产一二三 | 欧美日韩精品免费 | 一线毛片 | 亚洲第一av网站 | 亚洲欧美在线播放 | 成年人午夜视频 | 精品视频免费 | 久久久精| 国产精品伦一区二区三级视频 | 国产免费小视频 | 日韩成人免费在线 |