PHP漢字驗證碼

mf72 9年前發布 | 26K 次閱讀 PHP

    <?php
session_start();

$width = 200;  
$length = 60;  
$image = imagecreatetruecolor($width, $length);  
$color = imagecolorallocate($image, 255, 255, 255);  
imagefill($image, 0, 0, $color);  

$fontface = 'msyh.ttf';  
$str = "月日上午湖北荊州安良百貨商場內一名歲的女子被攪入手扶電梯身亡據廣西梧視臺報道位多小朋友太陽從左到臂中段基本廢掉甯全事關每個生命絕不允許萬危險皺什么屢發吃故背后都有政府監管部門產者保養維護和所失職人禍原因民網親帶著孩溲卷碯躡目睹這幕如此悲情面估計無數潸然淚下終止竟孤偶讓我?心于死來說羊補牢經而能褟慶幸自己沒在那敲響實公共警鐘底應該何做系乎寥成為話題密問其木起質疑鼚涌出賠償缺卻再也回才是最痛眰方運行既存就需要意識對擁否已盡了義務確正常轉宣傳尤進緊急制動樣按鈕播時候修些之眾則件將會頭尾答果任層現紕漏至重洞導致劇次以長鳴們注領域施與另外奏更毺郉平論家庭還學校給灌輸各種救皋措辦演練包含消防等容只夠記像吝庥懂得示昌敪謅提前告知顧客通速及皌嗇服推卸責兆歷統誰望看蚄謂定忮改眺??輕描淡寫追甚負躺頂格懲罰期操汻慫王兩天國股暴跌步把市脆弱性熟造陷表淋漓投資貪婪覽遺見縫插針機想他考慮社利益牛彈琴大勢文章稱組織稽查執法力量集拋售票線索核同聲明隊根退可戶惡空分析指變化跑海或謀工具星疾呼過僅街老鼠喊打使證高調處金融交易倉限許賣單臨規透賺錢減敢地惹火燒三未合約主結算即滬深持增加張但仍例近萎縮比少沒恐慌沽現象并它移括香港新坡華富貨當較初份達涉總值元寵模嗎年熱炒作顯著升傍晚點美超億由且開始聚早嗜血放屠刀立佛晃取衍潤幾用極災難況招拆狠寶馬奧拓展拳腳擊敗攻舉解預決強獲紛逃直崩盤清楚";  

$strdb = str_split($str,3);  
$captch_code = '';  
//產生隨機數  
for($i=0; $i<4; $i++)  
{  
    $fontcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));  

    $cn = $strdb[rand(0,count($strdb)-1)];  
    $captch_code .= $cn;  

    imagettftext($image, mt_rand(20,24), mt_rand(-60,60), (40*$i+20), mt_rand(30,35), $fontcolor, $fontface, $cn);  

}  
$_SESSION['authcode'] = $captch_code;  

//干擾點  
for($i=0; $i<200; $i++)   
{  
    $pointcolor = imagecolorallocate($image, rand(50,200), rand(50,200), rand(50,200));  
    imagesetpixel($image, rand(1,$width-1), rand(1,$width-1), $pointcolor);  
}  

//干擾線  
for($i=0; $i<10; $i++)  
{  
    $linecolor = imagecolorallocate($image, rand(80,220), rand(80,220), rand(80,220));  
    imageline($image, rand(1,$width-1), rand(1,$width/3-1), rand(1,$width-1), rand(1,$width/3-1), $linecolor);  
}  

header("content-type: image/png");  
imagepng($image);  
imagedestroy($image);  </pre> 


客戶端:

    <?php
if(isset($_REQUEST['authcode'])){
session_start();
if(($_REQUEST['authcode']) == $_SESSION['authcode']){
echo '<font color="#0000cc">輸入正確</font>';
}else{
echo '<font color="#cc0000"><b>輸入錯誤</b></font>';
}
exit();
}

?>  

<!DOCTYPE html>  
<html>  
<head>  
    <title></title>  
</head>  
<body>  
    <form method="post" action="./form.php">  
        <p>  
            驗證碼圖片:<img id="captch_code" border="1" src="./captcha_cn.php?r=<?php echo rand();?>" witdh="100px" />  
            <a href="javascript:void(0)" onclick="document.getElementById('captch_code').src='./captcha_cn.php?r='+Math.random()">換一個</a>   
        </p>  
        <p>圖片內容:<input type="text" name="authcode" value="" /> </p>  
        <p><input type="submit" value="提交" style="padding:6px 20px;"></p>  
    </form>  
</body>  
</html>  </pre> 


 本文由用戶 mf72 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!