亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP實現算式驗證碼和漢字驗證碼實例

2024-05-04 23:32:07
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP實現算式驗證碼和漢字驗證碼實例,本文直接給出實現代碼,需要的朋友可以參考下
 

在PHP網站開發中,驗證碼可以有效地保護我們的表單不被惡意提交,但是如果不使用算式驗證碼或者漢字驗證碼,僅僅使用簡單的字母或者數字驗證碼,這樣的驗證碼方案真的安全嗎?

大家知道簡單數字或者字母驗證碼很容易被破解,但是算式驗證碼或者中文漢字驗證碼不容易被破解,所以建議大家在使用驗證碼的時候,盡量用算式驗證碼或者中文漢字驗證碼。

下面是我寫的兩種驗證碼代碼,有用到的朋友可以參考下:

1.算式驗證碼:

復制代碼代碼如下:

<?php
session_start();
header("Content-type: image/png");
$num1 = mt_rand(0,9);//第一位數
$num2 = mt_rand(1,9);//第二位數
$type_str = "+-*";//方法字符串集合
$type = substr($type_str,rand(0,2),1);//隨機方法
$change = mt_rand(1,3);
if($change==1){
 $code = "$num1$type$num2=?";
 $result = "$verifyCode=$num1$type$num2;";
 eval($result);
 $_SESSION['authnum_session'] = $verifyCode;  
}elseif($change==2){
 $result = "$verifyCode=$num1$type$num2;";
 eval($result);
    $code = $num1.$type."_=".$verifyCode;
 $_SESSION['authnum_session'] = $num2;  
}elseif($change==3){
 $result = "$verifyCode=$num1$type$num2;";
 eval($result);
    $code = "_".$type.$num2."=".$verifyCode;
 $_SESSION['authnum_session'] = $num1;  
}
$im = imagecreate(68,28);   
$black = imagecolorallocate($im, 0,0,0);     
$white = imagecolorallocate($im, 255,255,255);
$gray = imagecolorallocate($im, 200,200,200);
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im,0,0,$white);        
imagestring($im, 5, 10, 8, $code, $black);    
for($i=0;$i<70;$i++) {
 imagesetpixel($im, mt_rand(0, 58) , mt_rand(0, 28) , $black); 
 imagesetpixel($im, mt_rand(0, 58) , mt_rand(0, 28) , $red); 
 imagesetpixel($im, mt_rand(0, 58) , mt_rand(0, 28) , $gray); 
}
imagepng($im);
imagedestroy($im);
?>

2.中文漢字驗證碼:
復制代碼代碼如下:

<?php
session_start();
$ch_str="的一是在了不和有大這主中人上為們地個用工時要動國產以我到他會作來分生對于學下級就年階義發成部民可出能方進同行面說種過命度革而多子后自社加小機也經力線本電高量長黨得實家定深法表著水理化爭現所二起政三好十戰無農使性前等反體合斗路圖把結第里正新開論之物從當兩些還天資事隊批如應形想制心樣干都向變關點育重其思與間內去因件日利相由壓員氣業代全組數果期導平各基或月毛然問比展那它最及外沒看治提五解系林者米群頭意只明四道馬認次文通但條較克又公孔領軍流入接席位情運器并飛原油放立題質指建區驗活眾很教決特此常石強極土少已根共直團統式轉別造切九你取西持總料連任志觀調七么山程百報更見必真保熱委手改管處己將修支識病象幾先老光專什六型具示復安帶每東增則完風回南廣勞輪科北打積車計給節做務被整聯步類集號列溫裝即毫知軸研單色堅據速防史拉世設達爾場織歷花受求傳口斷況采精金界品判參層止邊清至萬確究書術狀廠須離再目海交權且兒青才證低越際八試規斯近注辦布門鐵需走議縣兵固除般引齒千勝細影濟白格效置推空配刀葉率述今選養德話查差半敵始片施響收華覺備名紅續均藥標記難存測士身緊液派準斤角降維板許破述技消底床田勢端感往神便賀村構照容非搞亞磨族火段算適講按值美態黃易彪服早班麥削信排臺聲該擊素張密害侯草何樹肥繼右屬市嚴徑螺檢左頁抗蘇顯苦英快稱壞移約巴材省黑武培著河帝僅針怎植京助升王眼她抓含苗副雜普談圍食射源例致酸舊卻充足短劃劑宣環落首尺波承粉踐府魚隨考刻靠夠滿夫失包住促枝局菌桿周護巖師舉曲春元超負砂封換太模貧減陽揚江析畝木言球朝醫校古呢稻宋聽唯輸滑站另衛字鼓剛寫劉微略范供阿塊某功套友限項余倒卷創律雨讓骨遠幫初皮播優占死毒圈偉季訓控激找叫云互跟裂糧粒母練塞鋼頂策雙留誤礎吸阻故寸盾晚絲女散焊功株親院冷徹彈錯散商視藝滅版烈零室輕血倍缺厘泵察絕富城沖噴壤簡否柱李望盤磁雄似困鞏益洲脫投送奴側潤蓋揮距觸星松送獲興獨官混紀依未突架寬冬章濕偏紋吃執閥礦寨責熟穩奪硬價努翻奇甲預職評讀背協損棉侵灰雖矛厚羅泥辟告卵箱掌氧恩愛停曾溶營終綱孟錢待盡俄縮沙退陳討奮械載胞幼哪剝迫旋征槽倒握擔仍呀鮮吧卡粗介鉆逐弱腳怕鹽末陰豐編印蜂急拿擴傷飛露核緣游振操央伍域甚迅輝異序免紙夜鄉久隸缸夾念蘭映溝乙嗎儒殺汽磷艱晶插埃燃歡鐵補咱芽永瓦傾陣碳演威附牙芽永瓦斜灌歐獻順豬洋腐請透司危括脈宜笑若尾束壯暴企菜穗楚漢愈綠拖牛份染既秋遍鍛玉夏療尖殖井費州訪吹榮銅沿替滾客召旱悟刺腦措貫藏敢令隙爐殼硫煤迎鑄粘探臨薄旬善??v擇禮愿伏殘雷延煙句純漸耕跑澤慢栽魯赤繁境潮橫掉錐希池敗船假亮謂托伙哲懷割擺貢呈勁財儀沉煉麻罪祖息車穿貨銷齊鼠抽畫飼龍庫守筑房歌寒喜哥洗蝕廢納腹乎錄鏡婦惡脂莊擦險贊鐘搖典柄辯竹谷賣亂虛橋奧伯趕垂途額壁網截野遺靜謀弄掛課鎮妄盛耐援扎慮鍵歸符慶聚繞摩忙舞遇索顧膠羊湖釘仁音跡碎伸燈避泛亡答勇頻皇柳哈揭甘諾概憲濃島襲誰洪謝炮澆斑訊懂靈蛋閉孩釋乳巨徒私銀伊景坦累勻霉杜樂勒隔彎績招紹胡呼痛峰零柴簧午跳居尚丁秦稍追梁折耗堿殊崗挖氏刃劇堆赫荷胸衡勤膜篇登駐案刊秧緩凸役剪川雪鏈漁啦臉戶洛孢勃盟買楊宗焦賽旗濾硅炭股坐蒸凝竟陷槍黎救冒暗洞犯筒您宋弧爆謬涂味津臂障褐陸啊健尊豆拔莫抵桑坡縫警挑污冰柬嘴啥飯塑寄趙喊墊康遵牧遭幅園腔訂香肉弟屋敏恢忘衣孫齡嶺騙休借丹渡耳刨虎筆稀昆浪薩茶滴淺擁穴覆倫娘噸浸袖珠雌媽紫戲塔錘震歲貌潔剖牢鋒疑霸閃埔猛訴刷狠忽災鬧喬唐漏聞沈熔氯荒莖男凡搶像漿旁玻亦忠唱蒙予紛捕鎖尤乘烏智淡允叛畜俘摸銹掃畢璃寶芯爺鑒秘凈蔣鈣肩騰枯拋軌堂拌爸循誘祝勵肯酒繩窮塘燥泡袋朗喂鋁軟渠顆慣貿糞綜墻趨彼屆墨礙啟逆卸航霧冠丙街萊貝輻腸付吉滲瑞驚頓擠秒懸姆爛森糖圣凹陶詞遲蠶億矩";
$len = mb_strlen($ch_str,"utf-8");//漢字長度
$str = array();
for($i=0;$i<4;$i++){
   $pos = mt_rand(0,$len-5);//開始位置
   $str[] = mb_substr($ch_str,$pos,1,"utf-8");
}
$authnum_session = implode("",$str);
$_SESSION['authnum_session'] = $authnum_session;   //記錄到session
Header("Content-type: image/PNG");
//圖片的長和高
$image_x=100;
$image_y=50;
$im = imagecreate($image_x,$image_y);
//這里取圖片底色為白色
$bkg = ImageColorAllocate($im,255,255,255);
//顯示的字體樣式,這個要把文件放到對應的目錄中,如果你沒有文件就去window的字體文件中找一個吧。
$fnt = "simhei.ttf";
//為圖像分配一些顏色
$white=ImageColorAllocate($im,234,185,95);
//在圖片上畫橢圓弧,指定下坐標點
imagearc($im, 150, 8, 20, 20, 75, 170, $white);
imagearc($im, 180, 7,50, 30, 75, 175, $white);
//在圖片上畫一條線段,指定下坐標點
imageline($im,20,20,180,30,$white);
imageline($im,20,18,170,50,$white);
imageline($im,25,50,80,50,$white);
//亂點的數量
$noise_num=3000;
$line_num=50;
//各種混亂字符的顏色
$rectangle_color=imagecolorallocate($im,0xAA,0xAA,0xAA);
$noise_color=imagecolorallocate($im,0x00,0x00,0x00);
$font_color=imagecolorallocate($im,0x00,0x00,0x00);
for($i=0;$i<$noise_num;$i++)
{
    //在一個坐標點上畫一個單一像素,這個點上面定義了,是黑色的。
    //imagesetpixel($im,mt_rand(0,$image_x),mt_rand(0,$image_y),$noise_color);
}
for($i=0;$i<$line_num;$i++)
{
    $line_color=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
    //在兩個坐標點間畫一條線,顏色在上面定義
    imageline($im,mt_rand(0,$image_x),mt_rand(0,$image_y),mt_rand(0,$image_x),mt_rand(0,$image_y),$line_color);    
}
for ($i=0;$i<4;$i++)
{
    ImageTTFText($im, rand(18,20), rand(0,20), rand(($image_x/4)*$i+$image_x/100,($image_x/4)*$i+$image_x/8), rand($image_y/2+$image_y/10,$image_y/2+$image_y/5), $font_color, $fnt, $str[$i]);

 

}
ImagePNG($im);
ImageDestroy($im);
?>

 

字體文件:simhei.rar

注意:

中文漢字驗證碼單獨執行,然后獲取session會發現驗證碼和session內容不一致。但是在img 標簽中src屬性中引用這個中文漢字驗證碼文件時,然后獲取session,這時兩者內容時一致的。

感興趣的朋友可以對此進一步加以完善。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色yeye香蕉凹凸一区二区av| 亚洲欧美综合精品久久成人| 国产精品xxx视频| 国产精品美腿一区在线看| 亚洲系列中文字幕| 欧美日韩不卡合集视频| 国产日韩欧美在线| 久久五月天综合| 国产综合在线看| 国产成人精彩在线视频九色| 黑人巨大精品欧美一区二区三区| 欧美成人午夜免费视在线看片| 81精品国产乱码久久久久久| 8090理伦午夜在线电影| 欧美日韩中文在线观看| 色777狠狠综合秋免鲁丝| 欧美性在线视频| 日韩av免费在线播放| 亚洲精品一区二区久| 亚洲国产成人精品久久| 热99在线视频| 国产欧美日韩最新| 国产精品久久久久不卡| 亚洲精品国产免费| 久久99热精品这里久久精品| 欧美激情videoshd| 91最新在线免费观看| 1769国产精品| 91精品国产亚洲| 久久精品国产欧美亚洲人人爽| 一本色道久久88综合亚洲精品ⅰ| 久久久精品免费| 97久久伊人激情网| 日韩精品在线观看网站| 久久综合国产精品台湾中文娱乐网| 亚洲精品视频网上网址在线观看| 国产亚洲精品久久久久久牛牛| 欧美色播在线播放| 国产成人精品一区二区三区| 91理论片午午论夜理片久久| 欧美剧在线观看| www.久久撸.com| 韩国国内大量揄拍精品视频| 国产亚洲aⅴaaaaaa毛片| 国产成人在线亚洲欧美| 午夜精品久久久久久久男人的天堂| 久久精品久久精品亚洲人| 97国产成人精品视频| 色999日韩欧美国产| 欧美日韩一区二区精品| 国产精品18久久久久久麻辣| 欧美丝袜一区二区三区| 亚洲韩国日本中文字幕| 久久91亚洲精品中文字幕| 粉嫩老牛aⅴ一区二区三区| 亚洲第一福利视频| 91精品国产91久久久久久不卡| 91亚洲va在线va天堂va国| 欧美成人午夜免费视在线看片| 成人午夜小视频| 久久成年人视频| 日韩av黄色在线观看| 亚洲第一精品久久忘忧草社区| 国产日韩欧美在线| 亚洲性视频网站| 亚洲欧美成人网| 福利微拍一区二区| 日韩视频在线免费观看| 91久久嫩草影院一区二区| 91精品啪aⅴ在线观看国产| 久久人人爽国产| 日日噜噜噜夜夜爽亚洲精品| 久久久精品国产网站| www欧美日韩| 久久久久国产精品www| 国外成人在线播放| 97超级碰碰碰| 狠狠操狠狠色综合网| 色综合久久精品亚洲国产| 亚洲国产精品电影在线观看| 国模私拍一区二区三区| 国产成人91久久精品| 欧美精品日韩www.p站| 992tv成人免费影院| 狠狠久久五月精品中文字幕| 国产精品99久久久久久久久久久久| 欧美极度另类性三渗透| 日韩中文字幕网站| 国产精品久久久久久久久久99| 欧美大片大片在线播放| 日韩在线中文视频| 欧美日韩美女在线观看| 国产一区二区在线免费视频| 国产98色在线| 亚洲美女av黄| 亚洲福利视频网站| 久久69精品久久久久久久电影好| 欧美成人一区在线| 国产精品美乳在线观看| 亚洲美女精品成人在线视频| 日韩欧美国产成人| 精品电影在线观看| 7777精品久久久久久| 91夜夜揉人人捏人人添红杏| 亚洲一区二区中文| 日韩第一页在线| 国产成人精品国内自产拍免费看| 日韩精品高清视频| 色婷婷综合久久久久中文字幕1| 欧美激情欧美激情| 欧美日韩不卡合集视频| 91精品综合久久久久久五月天| 97精品一区二区视频在线观看| 日韩中文字幕视频在线观看| 视频在线观看99| 日韩电影免费在线观看| 97婷婷涩涩精品一区| 国产精品丝袜高跟| 成人在线中文字幕| 午夜精品久久久久久久99黑人| 久久成人综合视频| 久久久综合免费视频| 亚洲精品久久久久久久久| 日韩视频免费在线| 中文字幕亚洲二区| 成人有码在线播放| 中文字幕一区二区精品| 日韩色av导航| 在线视频免费一区二区| 97香蕉超级碰碰久久免费的优势| 成人精品久久一区二区三区| 亚洲韩国日本中文字幕| 国产精品白嫩初高中害羞小美女| 国产精品伦子伦免费视频| 精品香蕉一区二区三区| 国产在线一区二区三区| 成人性生交大片免费观看嘿嘿视频| 成人在线视频网站| 精品欧美一区二区三区| 68精品国产免费久久久久久婷婷| 欧美午夜片欧美片在线观看| 久久视频在线视频| 97精品在线观看| 中文字幕日韩在线播放| 国产精品羞羞答答| 国产成人福利视频| 亚洲人成网站999久久久综合| 性欧美办公室18xxxxhd| 国产精品一区二区三| 亚洲成年人在线| 亚洲加勒比久久88色综合| 色综合视频网站| 欧美猛交免费看| 欧美成人午夜免费视在线看片| 久久6免费高清热精品| 国产欧美一区二区三区久久人妖| 亚洲精品98久久久久久中文字幕| 亚洲高清不卡av| 欧美成人在线网站| 国产精品亚洲精品| 秋霞成人午夜鲁丝一区二区三区| 久久男人资源视频| 国产精品情侣自拍| 91中文精品字幕在线视频|