国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP實現簡易的漢字驗證碼的思路

qianfeng / 1277人閱讀

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

  

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

創建背景畫布
$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的中文記得要轉嗎【iconv函數可以幫助你】

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

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20994.html

相關文章

  • 運用Python完成簡易短信驗證碼解決

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

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

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

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

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

    Meils 評論0 收藏0
  • 自動發帖機斗爭過程防止垃圾評論幾個方法總結

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

    Gilbertat 評論0 收藏0

發表評論

0條評論

qianfeng

|高級講師

TA的文章

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