澳门新葡萄京官网首页图形数字验证代码

//将四人整数验证码绘入图片 imagestring($im, 5, 10, 8,
$HTTP_GET_VARS[‘authnum’], $black);

图片数字说北齐码Code:?/** Filename:
authpage.php*/srand((double)microtime()*澳门新葡萄京官网首页 ,1000000卡塔尔国;//验证客商输入是或不是和验证码同样if(isset($_POST[‘authinput’])){if(strcmp($_POST[‘authnum’],$_POST[‘authinput’]卡塔尔==0State of Qatarecho
“验证成功!”;elseecho
“验证失利!”;}//生成新的贰人整数验证码while(($authnum=rand(卡塔尔(قطر‎%10000卡塔尔国1000卡塔尔国;?form
action=authpage.php method=posttable请输入验证码:input type=text
name=authinput brinput type=submit name=”验证” value=”提交验证码”input
type=hidden name=authnum value=? echo $authnum; ?img
src=authimg.php?authnum=? echo $authnum;
?/table/form————————————————————————————————————-?/**
Filename: authimg.php*///生成验证码图片Header(“Content-type:
image/PNG”卡塔尔;srand((double卡塔尔microtime(卡塔尔(قطر‎*1000000卡塔尔;$im =
imagecreate(58,28卡塔尔国;$black = ImageColorAllocate($im, 0,0,0卡塔尔;$white =
ImageColorAllocate($im, 255,255,255卡塔尔(قطر‎;$gray = ImageColorAllocate($im,
200,200,200卡塔尔;imagefill($im,68,30,$grayState of Qatar;//将二个人整数验证码绘入图片imagestring($im,
5, 10, 8, $HTTP_GET_VARS[‘authnum’], $white卡塔尔;for($i=0;$i50;$i++)//参与烦恼象素{imagesetpixel($im, rand(卡塔尔(قطر‎%70 , rand(卡塔尔(قطر‎%30 ,
$gray卡塔尔国;}ImagePNG($im卡塔尔;ImageDestroy($im卡塔尔;?

srand((double)microtime()*1000000);

?php /* * Filename: authimg.php * Author: hutuworm * Date:
2003-04-28 * @Copyleft hutuworm.org */ //生成验证码图片
Header(“Content-type: image/PNG”State of Qatar; srand((doubleState of Qatarmicrotime(State of Qatar*1000000卡塔尔;
$im = imagecreate(62,20卡塔尔(قطر‎; $black = ImageColorAllocate($im, 0,0,0卡塔尔国;
$white = ImageColorAllocate($im, 255,255,255卡塔尔国; $gray =
ImageColorAllocate($im, 200,200,200卡塔尔国; imagefill($im,68,30,$grayState of Qatar;
while(($authnum=rand(卡塔尔(قطر‎%100000卡塔尔10000卡塔尔(قطر‎;//将二人整数验证码绘入图片
imagestring($im, 5, 10, 3, $authnum, $black卡塔尔国; for($i=0;$i200;$i++State of Qatar//到场忧愁象素 { $randcolor =
ImageColorallocate($im,rand(0,255卡塔尔,rand(0,255卡塔尔(قطر‎,rand(0,255State of Qatar卡塔尔;
imagesetpixel($im, rand(卡塔尔(قطر‎%70 , rand(State of Qatar%30 , $randcolor卡塔尔(قطر‎; } ImagePNG($im卡塔尔(قطر‎;
ImageDestroy($imState of Qatar; ?

改进后的代码如下:

代码二: ?php /* * Filename: authimg.php * Author: hutuworm * Date:
2003-04-28 * @Copyleft hutuworm.org */

//生成验证码图片 Header(“Content-type: image/PNG”卡塔尔(قطر‎;
srand((doubleState of Qatarmicrotime(卡塔尔(قطر‎*1000000); $im = imagecreate(58,28); $black =
ImageColorAllocate($im, 0,0,0); $white = ImageColorAllocate($im,
255,255,255); $gray = ImageColorAllocate($im, 200,200,200);
imagefill($im,68,30,$gray);

本文程序在Apache 2.0.45 + PHP 4.3.1条件下运作通过。

上文只是对验证码效率的二个轻巧达成,并不曾虚构商用安全性难题。纵然要抓牢安全性,将此成效投入商业使用,则能够透过以下几个步骤完结:

本站注:作者选取了简单的代码实现了太酷的成效。然而在丰富忧虑像素时的功效不是太好,大家能够看一降雨声论坛登陆时的效验码(_login.cgiState of Qatar,偶把第二段代码稍改了刹那间,生成了与其形似的功力。

代码一:

for($i=0;$i50;$i++卡塔尔 //参预烦扰象素 { imagesetpixel($im, rand(卡塔尔国%70 ,
rand(State of Qatar%30 , $black卡塔尔; }

?php /* * Filename: authpage.php * Author: hutuworm * Date:
2003-04-28 * @Copyleft hutuworm.org */

小编:hutuworm 来源:糊涂馋寺
最近,不菲网站为了防止客商使用机器人自动注册、登陆、灌注,都应用了
验证码技能。所谓验证码,正是将一串随机发生的数字或标识,生成一幅图片,
图片里拉长有的振撼象素,由客户肉眼辨识个中的验证码音信,输
入表单提交网址证实,验证成功后技术利用某项功效。

  1. 启用Session。 2.
    authnum在authimg.php中变化,并总结md5sum,存入session。 3.
    authpage.php将authinput总结md5sum后,与session中的authnum相比得出验证结果。

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

我们那边显示了什么样编写PHP程序完结验证码作用:

//验证客商输入是还是不是和验证码相似if(isset($HTTP_POST_VARS[‘authinput’])) {
if(strcmp($HTTP_POST_VARS[‘authnum’],$HTTP_POST_VARS[‘authinput’]卡塔尔(قطر‎==0State of Qatarecho “验证成功!”; else echo “验证失利!”; } //生成新的二个人整数验证码
while(($authnum=rand(卡塔尔国%10000卡塔尔(قطر‎1000卡塔尔; ? form action=authpage.php
method=post table 请输入验证码:input type=text name=authinput br input
type=submit name=”验证” value=”提交验证码” input type=hidden
name=authnum value=? echo $authnum; ? img src=authimg.php?authnum=? echo
$authnum; ? /table /form

发表评论

电子邮件地址不会被公开。 必填项已用*标注