摘要:現(xiàn)在越來(lái)越多的網(wǎng)站都開(kāi)始使用漢字驗(yàn)證碼了,既增加了我們國(guó)人的親切感,同時(shí)也增加了機(jī)器破解的難度,這里我就簡(jiǎn)單粗暴的說(shuō)一下。。。
創(chuàng)建背景畫(huà)布現(xiàn)在越來(lái)越多的網(wǎng)站都開(kāi)始使用漢字驗(yàn)證碼了,既增加了我們國(guó)人的親切感,同時(shí)也增加了機(jī)器破解的難度,這里我就簡(jiǎn)單粗暴的說(shuō)一下。。。
$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)證碼解決,文章內(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)度差一丟...
摘要:常用正則表達(dá)式及其思路詳解注意正則表達(dá)式的匹配超大文本的效率比較低,為了匹配效率加快,最好是是先精確到小模塊,再使用正則匹配,這樣搜索效率會(huì)快一點(diǎn)。出生日期碼表示編碼對(duì)象出生的年月日,其中年份用四位數(shù)字表示,年月日之間不用分隔符。 常用正則表達(dá)式及其思路詳解 注意:正則表達(dá)式的匹配超大文本的效率比較低,為了匹配效率加快,最好是是先精確到小模塊,再使用正則匹配,這樣搜索效率會(huì)快一點(diǎn)。 v...
摘要:今天遇到一個(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:/...
摘要:同一當(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)始,到下午...
閱讀 4186·2021-11-22 13:52
閱讀 2094·2021-09-22 15:12
閱讀 1133·2019-08-30 15:53
閱讀 3467·2019-08-29 17:12
閱讀 2198·2019-08-29 16:23
閱讀 1662·2019-08-26 13:56
閱讀 1778·2019-08-26 13:44
閱讀 1897·2019-08-26 11:56