这就是我找的例子。<?/** Filename: authpage.php*/srand((double)microtime()*1000000);//验证用户输入是否和验证码一致if(isset($_POST['authinput'])){
if(strcmp($_POST['authnum'],$_POST['authinput'])==0)echo "验证成功!";elseecho "验证失败!";}//生成新的四位整数验证码while(($authnum=rand()%10000)<1000);?><form action=authpage.php method=post><table>请输入验证码:<input type=text name=authinput style="width: 80px"><br><input 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,$gray);//将四位整数验证码绘入图片imagestring($im, 5, 10, 8, $HTTP_GET_VARS['authnum'], $white);for($i=0;$i<50;$i++) //加入干扰象素{imagesetpixel($im, rand()%70 , rand()%30 , $gray);}ImagePNG($im);ImageDestroy($im);?>
if(strcmp($_POST['authnum'],$_POST['authinput'])==0)echo "验证成功!";elseecho "验证失败!";}//生成新的四位整数验证码while(($authnum=rand()%10000)<1000);?><form action=authpage.php method=post><table>请输入验证码:<input type=text name=authinput style="width: 80px"><br><input 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,$gray);//将四位整数验证码绘入图片imagestring($im, 5, 10, 8, $HTTP_GET_VARS['authnum'], $white);for($i=0;$i<50;$i++) //加入干扰象素{imagesetpixel($im, rand()%70 , rand()%30 , $gray);}ImagePNG($im);ImageDestroy($im);?>
<img src=authimg.png?reload=rand(0,9999)>
应该是这个意思吧?
那,个人建议使用session方式来传递随机数,这总是要比GET
方式好许多了.不过,个人还是觉得,网络的安全是一个相对的概念,没有真正完全
意义上的网络安全存在.所谓的安全都是以牺牲了效率等东西得来
的.
一般来讲,能做到尽可能好就可以了.所谓的尽可能好是指----你所
写的东西本身的价值,数据库可靠性,程序运行效率这三者的一个平衡.个人觉得过多的追究安全没有太大意义.个人意见,供楼主参考:)
拿代码,对自己的成长要有帮助许多,大家说呢?:)再次感谢
因为根本没起到验证码的作用。
放在session中比较好