成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

PHP實現(xiàn)簡易的漢字驗證碼的思路

qianfeng / 1344人閱讀

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

  

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

創(chuàng)建背景畫布
$image = imagecreatetruecolor(200, 60);
$background = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $background);
畫干擾點
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);
}
畫干擾線
//4條水平線
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條垂直線
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);
}
畫漢字
$text = array("梔", "子", "花", "開");
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);
銷毀資源
imagedestroy($image);

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

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

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/20994.html

相關(guān)文章

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

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

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

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

    kevin 評論0 收藏0
  • ThinkPHP驗證碼不顯示解決方案

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

    Meils 評論0 收藏0
  • 自動發(fā)帖機(jī)斗爭過程防止垃圾評論幾個方法總結(jié)

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

    Gilbertat 評論0 收藏0

發(fā)表評論

0條評論

qianfeng

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<