PHP 代码:
<?php
ob_start();
session_start();
$rands = rand(1000,9999);
header("Content-type: image/gif");
$_SESSION['reg_num_check'] = $rands;
$im = @imagecreate(40, 15);
imagecolorallocate($im, 240, 240, 240);
$loc = 2;
$color1=imagecolorallocate($im, 0, 0, 0);
for($i=0;$i<4;$i++){
$color=imagecolorallocate($im, rand(0,255), rand(0,255), rand(0,255));
imagestring($im, 4, ($loc+1), 1, substr($rands,$i,1), $color1);
imagestring($im, 4, $loc, 0, substr($rands,$i,1), $color);
$loc += 9;
}
Imagegif($im);
imagedestroy($im);
ob_end_flush();
?>
(非常全面的一个php技术网站, 有相当丰富的文章和源代码.) 将这段代码保存为一个文件(如:chk_num.php), 在注册或者登陆页输入验证码文本框的旁边用<img src="chk_num.php">、或者用IFRAME嵌入这个文件, 会自动显示验证码图片,并生成$_SESSION['reg_num_check'].
用户提交后,对比$_SESSION['reg_num_check']与用户输入的验证码就OK了.
|