成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

PHP實(shí)現(xiàn)簡(jiǎn)易的漢字驗(yàn)證碼的思路

qianfeng / 1278人閱讀

摘要:現(xiàn)在越來(lái)越多的網(wǎng)站都開(kāi)始使用漢字驗(yàn)證碼了,既增加了我們國(guó)人的親切感,同時(shí)也增加了機(jī)器破解的難度,這里我就簡(jiǎn)單粗暴的說(shuō)一下。。。

  

現(xiàn)在越來(lái)越多的網(wǎng)站都開(kāi)始使用漢字驗(yàn)證碼了,既增加了我們國(guó)人的親切感,同時(shí)也增加了機(jī)器破解的難度,這里我就簡(jiǎn)單粗暴的說(shuō)一下。。。

創(chuàng)建背景畫(huà)布
$image = imagecreatetruecolor(200, 60);
$background = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $background);
畫(huà)干擾點(diǎn)
for ($i=0; $i < 300; $i++) { 
    $pixColor = imagecolorallocate($image, rand(150, 240), rand(150, 240), rand(150, 240));
    $pixX = rand(10, 190);
    $pixY = rand(5, 55);
    imagesetpixel($image, $pixX, $pixY, $pixColor);
}
畫(huà)干擾線(xiàn)
//4條水平線(xiàn)
for ($i=0; $i < 5; $i++) { 
    $lineColor = imagecolorallocate($image, rand(50, 150), rand(50, 150), rand(50, 150));
    $lineX1 = 0;
    $lineX2 = 300;
    $lineY1 = ($i + 1) * 12;
    $lineY2 = ($i + 1) * 12;
    imageline($image, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor);
}

//10條垂直線(xiàn)
for ($i=0; $i < 30; $i++) { 
    $lineColor = imagecolorallocate($image, rand(50, 150), rand(50, 150), rand(50, 150));
    $lineX1 = ($i + 1) * 10;
    $lineX2 = ($i + 1) * 10;
    $lineY1 = 0;
    $lineY2 = 60;
    imageline($image, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor);
}
畫(huà)漢字
$text = array("梔", "子", "花", "開(kāi)");
for ($i=0; $i < 4; $i++) {
    $textColor = imagecolorallocate($image, rand(20, 100), rand(20, 100), rand(20, 100));
    $textX = $i * 50 + 10;
    $textY = rand(40, 60);
    imagettftext($image, 30, rand(20, 50), $textX, $textY, $textColor, "/Library/Fonts/華文仿宋.ttf", $text[$i]);
}
  

這里注意一下,字體文件一定要支持中文的
編碼要使用utf-8,gbk的中文記得要轉(zhuǎn)嗎【iconv函數(shù)可以幫助你】

輸出圖像
header("Content-Type:image/png");
imagepng($image);
銷(xiāo)毀資源
imagedestroy($image);

經(jīng)過(guò)粗略的搞吧搞吧,中文驗(yàn)證碼也就顯示出來(lái)了,當(dāng)然一般網(wǎng)站使用的時(shí)候會(huì)有一個(gè)漢字庫(kù)種子,從里面隨機(jī)取出特定個(gè)數(shù)的漢字顯示,最后就是記錄到session進(jìn)行驗(yàn)證了。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/20994.html

相關(guān)文章

  • 運(yùn)用Python完成簡(jiǎn)易短信驗(yàn)證碼解決

      本文關(guān)鍵闡述了運(yùn)用Python完成簡(jiǎn)易短信驗(yàn)證碼解決,文章內(nèi)容緊扣主題進(jìn)行詳盡的基本介紹,具有很強(qiáng)的實(shí)用價(jià)值,必須的朋友可以學(xué)習(xí)一下  前言  我們做獲取數(shù)據(jù)時(shí),太快或?yàn)g覽經(jīng)常,或一瀏覽便給彈出來(lái)短信驗(yàn)證碼,隨后蚌珠了~  今天小編就給大家來(lái)個(gè)簡(jiǎn)易解決短信驗(yàn)證碼的辦法  自然環(huán)境控制模塊  這兒需要使用一個(gè)ddddocr模塊,這也是他人開(kāi)源系統(tǒng)提前準(zhǔn)備好的一樣?xùn)|西,簡(jiǎn)單又好用,可是精準(zhǔn)度差一丟...

    89542767 評(píng)論0 收藏0
  • 常用正則表達(dá)式及其思路詳解

    摘要:常用正則表達(dá)式及其思路詳解注意正則表達(dá)式的匹配超大文本的效率比較低,為了匹配效率加快,最好是是先精確到小模塊,再使用正則匹配,這樣搜索效率會(huì)快一點(diǎn)。出生日期碼表示編碼對(duì)象出生的年月日,其中年份用四位數(shù)字表示,年月日之間不用分隔符。 常用正則表達(dá)式及其思路詳解 注意:正則表達(dá)式的匹配超大文本的效率比較低,為了匹配效率加快,最好是是先精確到小模塊,再使用正則匹配,這樣搜索效率會(huì)快一點(diǎn)。 v...

    kevin 評(píng)論0 收藏0
  • ThinkPHP驗(yàn)證碼不顯示解決方案

    摘要:今天遇到一個(gè)很奇怪的,就是我寫(xiě)了一個(gè)程序本地運(yùn)行正常,但是發(fā)布到甲方的服務(wù)器上出現(xiàn)無(wú)法顯示驗(yàn)證碼的。適用于驗(yàn)證碼圖片在新窗口打開(kāi)的時(shí)候顯示了報(bào)錯(cuò)信息以及一堆亂碼的情況下,如果有報(bào)錯(cuò)信息,請(qǐng)根據(jù)報(bào)錯(cuò)信息進(jìn)行檢查驗(yàn)證碼所調(diào)用的字體是否缺失。 今天遇到一個(gè)很奇怪的BUG,就是我寫(xiě)了一個(gè)PHP程序本地運(yùn)行正常,但是發(fā)布到甲方的服務(wù)器上出現(xiàn)無(wú)法顯示驗(yàn)證碼的BUG。 showImg(https:/...

    Meils 評(píng)論0 收藏0
  • 自動(dòng)發(fā)帖機(jī)斗爭(zhēng)過(guò)程防止垃圾評(píng)論幾個(gè)方法總結(jié)

    摘要:同一當(dāng)日發(fā)帖數(shù)量限制有作用采用基于的技術(shù)防止發(fā)帖機(jī)器發(fā)帖,是有作用的,而且經(jīng)過(guò)了檢驗(yàn)。注本文為轉(zhuǎn)載,原文鏈接自動(dòng)發(fā)帖機(jī)的斗爭(zhēng)過(guò)程防止垃圾評(píng)論的幾個(gè)方法總結(jié)相關(guān)文章如何防止垃圾評(píng)論談?wù)劮蠢? 所謂魔高一尺,道高一丈。機(jī)器發(fā)帖和反機(jī)器發(fā)帖一直都是場(chǎng)硝煙彌漫的豪華戰(zhàn)爭(zhēng)。自網(wǎng)站開(kāi)放之日起,這個(gè)垃圾信息就沒(méi)有消停過(guò),而且這個(gè)垃圾發(fā)帖的時(shí)間都有一定的規(guī)律,一般是從上午9點(diǎn)、10點(diǎn)的時(shí)候開(kāi)始,到下午...

    Gilbertat 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<