校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 網(wǎng)站建設(shè) > 建站知識(shí) > 將織夢CMS的驗(yàn)證碼改為數(shù)字

將織夢CMS的驗(yàn)證碼改為數(shù)字

POST TIME:2020-03-28 17:49

有時(shí)我感覺要輸入字母驗(yàn)證碼的話有點(diǎn)麻煩,如果是數(shù)學(xué)驗(yàn)證碼,要方便些,因?yàn)槲覀兊臄?shù)學(xué)小鍵盤,于是我就想把織夢的驗(yàn)證碼改成數(shù)字驗(yàn)證碼。

首先,我們要找到系統(tǒng)的這個(gè)驗(yàn)證碼文件,經(jīng)過一番尋找,我發(fā)現(xiàn)驗(yàn)證碼文件在include alidateimg.php

打開后找到:
for($i=0;$i<4;$i++)
{
?? $rndstring .= chr(mt_rand(65,90));
}

將它改成:
for($i=0;$i<4;$i++)
{
?? $rndstring .= chr(mt_rand(48,57));
}


這個(gè)函數(shù)是產(chǎn)生隨機(jī)字符,看見里面的數(shù)字沒有,它就是要產(chǎn)生字符鍵盤碼的范疇,原來的是
mt_rand(65,90),這個(gè)65到90是大寫字母A到Z的鍵盤碼。
現(xiàn)在修改為(48,57) 表示0到9的鍵盤碼:mt_rand(48,57)。

按照這個(gè)理論,估計(jì)能產(chǎn)生中文吧。

還有這個(gè)文件里面的
$bgcolor = ImageColorAllocate($im, 248,212,20);
$black = ImageColorAllocate($im, 0,0,0);

是設(shè)定生成圖片的背景顏色和文字顏色的。三個(gè)數(shù)字表示 顏色的 紅,綠,藍(lán)色值。范疇為0到255,
比如
0,0,0 ? 表示 黑色,
255,0,0 表示純紅,
0,255,0 表示純綠,
0,0,255 表示純藍(lán)。
255.255.255 表示白。

修改成統(tǒng)一字體
for($i=0;$i<$rndcodelen;$i++)
{
?? ?imagestring($im, mt_rand(2,5), $i*10+6, mt_rand(2,5), $rndstring[$i], $black);
}

改成
for($i=0;$i<$rndcodelen;$i++)
{
?? ?imagestring($im, 3, $i*10+6, mt_rand(2,5), $rndstring[$i], $black);
}
也就是 imagestring里面第二個(gè)參數(shù),修改它為1到5之間的固定數(shù)字,這里我覺得修改成3比較漂亮。

參數(shù)說明:
int imagestring ( resource image, int font, int x, int y, string s, int col)

imagestring() 用 col 顏色將字符串 s 畫到 image 所代表的圖像的 x,y 座標(biāo)處(圖像的左上角為 0, 0)。假如 font 是 1,2,3,4 或 5,則使用內(nèi)置字體。

假如不想讓他上下參差,就把坐標(biāo)y改成固定值3就行了,也就是把 mt_rand(2,5)改成3
驗(yàn)證碼為數(shù)字加小寫字母組合方式的實(shí)現(xiàn)
//獲取隨機(jī)字符
$rndstring = "";
for($i=0;$i<2;$i++){
?? ?$rndstring .= chr(mt_rand(48,57));
?? ?$rndstring .= chr(mt_rand(97,122));
}

這樣就可以實(shí)現(xiàn)數(shù)字+小寫字母了



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
主站蜘蛛池模板: 科技| 固原市| 紫金县| 阿拉善盟| 武城县| 石台县| 永宁县| 宿州市| 汾西县| 景泰县| 蓝山县| 乡宁县| 肥西县| 将乐县| 屏南县| 秦皇岛市| 德昌县| 浦城县| 彰化县| 扎鲁特旗| 林口县| 绵竹市| 都昌县| 遵化市| 翼城县| 分宜县| 洛宁县| 舟曲县| 富阳市| 新郑市| 万宁市| 刚察县| 蒙自县| 泰和县| 林甸县| 花垣县| 泊头市| 建瓯市| 天全县| 镇沅| 儋州市|