专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »PHP教程 » 图形验证码:PHP图形验证码 »正文

图形验证码:PHP图形验证码

来源: 发布时间:星期三, 2008年9月10日 浏览:523次 评论:0
所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。

<?php
//生成随机数2006年7月2日:rndnum.php
class rndnum{

function rnd(){
srand((double)microtime()*1000000);
$rnd_number=array(
1=>\'1\',
2=>\'2\',
3=>\'3\',
4=>\'4\',
5=>\'5\',
6=>\'6\',
7=>\'7\',
8=>\'8\',
9=>\'9\',
10=>\'a\',
11=>\'b\',
12=>\'c\',
13=>\'d\',
14=>\'e\',
15=>\'f\',
16=>\'g\',
17=>\'h\',
18=>\'i\',
19=>\'j\',
20=>\'k\',
21=>\'l\',
22=>\'m\',
23=>\'n\',
24=>\'o\',
25=>\'p\',
26=>\'q\',
27=>\'r\',
28=>\'s\',
29=>\'t\',
30=>\'u\',
31=>\'v\',
32=>\'w\',
33=>\'x\',
34=>\'y\',
35=>\'z\',
36=>\'0\'
);
$result=array_rand($rnd_number,6);
$j=count($result);
for ($i=0;$i<$j;$i++) {
$re.=$rnd_number[$result[$i]];
}
//$re=$rnd_number[$result[1]].$rnd_number[$result[2]].$rnd_number[$result[3]].$rnd_number[$result[4]].$rnd_number[$result[5]].$rnd_number[$result[6]].$rnd_number[$result[7]];
//return array_keys($result);
return $re;
}
}
/*用法
$rndnum=new rndnum();
$num=$rndnum->rnd();
echo $num;
*/
?>
生成验证码的图片,将随机数填充到里边:
<?php
//创建于2006年10月10日
Header(\"Content-type: image/PNG\");
require_once(\"rndnum.php\");
$rndnum=new rndnum();
$authnum=$rndnum->rnd();
session_start();
$_SESSION[\"extrra_code\"]=$authnum;
$im = imagecreate(72,20);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
$gray = ImageColorAllocate($im, 200,200,200);
imagefill($im,0,0,$gray);
imagestring($im,5,10,3,$authnum,$black);
for($i=0;$i<200;$i++) //加入干扰象素
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
}
ImagePNG($im);
ImageDestroy($im);
?>

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: