设为首页收藏本站language 语言切换
查看: 1332|回复: 0
收起左侧

phpwind验证码代码讲解

[复制链接]
发表于 2010-2-24 13:39:42 | 显示全部楼层 |阅读模式
<>需要gd库支持.<BR>Image 图像函数<BR>参见<A href="http://php.liukang.com/manual/zh/ref.image.php"><U><FONT color=#0000ff>http://php.liukang.com/manual/zh/ref.image.php</FONT></U></A><BR>&lt;?php<BR>// BY PHP 国度 <A href="http://www.phphot.be/"><U><FONT color=#0000ff>www.phphot.be</FONT></U></A><BR>//关闭报错<BR>error_reporting(0);<BR>//图片宽度<BR>$x_size=60;<BR>//图片高度<BR>$y_size=20;<BR>//生成4个随机字符<BR>$nmsg=num_rand(4);<BR>//支持安全通连接吗?<BR>$S=$_SERVER['SERVER_PORT']=='443' ? 1:0;<BR>//使用cookie记录随机码<BR>//expire=0 cookie将会在会话结束后(一般是浏览器关闭)失效。 <BR>setCookie('ck_num',md5($nmsg),0,'/','',$S);<BR>//创建宽:60*20的图片(画布)<BR>$aimg = imagecreate($x_size,$y_size);<BR>//设置图片背景色<BR>$back = imagecolorallocate($aimg, 255, 255, 255);<BR>//设置字体颜色<BR>$border = imagecolorallocate($aimg, 0, 0, 0);<BR>//从0,0点填充59*19的白色矩形区域<BR>imagefilledrectangle($aimg, 0, 0, $x_size - 1, $y_size - 1, $back);<BR>//从0,0点绘制59*19的黑色矩形边框<BR>imagerectangle($aimg, 0, 0, $x_size - 1, $y_size - 1, $border);</P><>for ($i=0;$i&lt;strlen($nmsg);$i++){ <BR>     //在图片上写字<BR>     imageString($aimg,5,$i*$x_size/4+3,2, $nmsg[$i],$border); <BR>}<BR>header("Content-type: image/png");<BR>imagepng($aimg);<BR>imagedestroy($aimg);exit;<BR>function num_rand($lenth){<BR>     // 播下一个随机数发生器种子<BR>     //php自4.2.0起,,此参数变为可选项,当该项为空时,会被设为随时数<BR>     mt_srand((double)microtime() * 1000000);<BR>     //产生有4个随机数字的字符串<BR>     for($i=0;$i&lt;$lenth;$i++){<BR>           $randval.= mt_rand(0,9);<BR>     }<BR>     //对含有4个数字的字符串使用md5加密,长度是32位的<BR>     //从3长度为32的字符中,自最小数起或最大数32-$lenth起,取长度为$lenth的字符串<BR>     $randval=substr(md5($randval),mt_rand(0,32-$lenth),$lenth);<BR>     return $randval;<BR>}<BR>?&gt;  <BR></P>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-6 20:50 , Processed in 0.066859 second(s), 23 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表