表單 formidentifyingcode.php
驗證碼生成頁 identifyingcode.php
<?php
session_start();
header('content-type:text/html;charset=utf-8;');
error_reporting(e_all & ~e_notice); //表示提示除去 e_notice 之外的所有錯誤資訊
check_code();
function check_code($width=100,$height=50,$num=4,$type='jpeg')
$string .= sprintf('%c',$ascii); //把4個字元累加起來
}$_session['authcode'] = $string ;
//背景顏色
imagefilledrectangle($img,0,0,$width,$height,randbg($img));
//畫干擾元素
// 我們可以隨機的在中畫上50個畫素點。最小的位置為0,0。最大的位置為最大的寬或者最大的高。
//然後使用mt_rand(0,最大寬)、mt_rand(0,最大高)。再使用randpix針對我們建立的畫布來分配顏色。
//bool imagesetpixel ( resource $image , int $x , int $y , int $color ) 在指定的座標處繪製畫素。
for($i=0;$i<50;$i++)
//寫字
//php imagechar - 寫出橫向字元
//bool imagechar ( resource $image , int $font , int $x , int $y , string $c , int $color )
//imagechar() 將字串 c 的第乙個字元畫在 image 指定的影象中,其左上角位於 x,y(影象左上角為 0, 0),顏色為 color。如果 font 是 1,2,3,4 或 5,則使用內建的字型(更大的數字對應於更大的字型)
for($i=0;$i<$num;$i++)
//imagejpeg
$func = 'image' . $type;
$header = 'content-type:image/' . $type;
if (function_exists($func)) else
imagedestroy($img);
return $string;
}//淺色的背景
// 0-120 低數值是深色系。
//130 - 255 通常為淺色系。rgb
function randbg($img)
//深色的字或者點這些干擾元素
function randpix($img)
?>
驗證表單頁面 formidentifyingcode.php
<?php
session_start();
//error_reporting(e_all & ~e_notice); //表示提示除去 e_notice 之外的所有錯誤資訊
header("content-type:text/html;charset=utf-8"); //設定頭部資訊
if(isset($_post['code']))
else
} else
?>
登陸成功頁面 welcome.php
<?php
echo "歡迎登陸";
?>
PHP實現驗證碼
目前,不少 為了防止使用者利用機械人自動註冊 登入 灌水,都採用了驗證碼技術。所謂驗證碼,就是將一串隨機產生的數字或符號,生成一幅,裡加上一些干擾象素 防止 ocr 由使用者肉眼識別其中的驗證碼資訊,輸入表單提交 驗證,驗證成功後才能使用某項功能。我們這裡展示了如何編寫 php程式實現驗證碼功能 一...
php實現驗證碼
繪製驗證碼 num 5 str getcode num,2 建立畫布 width num 20 height 30 im imagecreatetruecolor width,height color 0 imagecolorallocate im,100,18,199 color 1 imagec...
PHP實現驗證碼
建立並設定大小 image imagecreatetruecolor 100,30 設定驗證碼顏色 方法 imagecolorallocate 物件,int red,int green,int blue bgcolor imagecolorallocate image,190,234,239 設定為...