A-A+
个人常用的一款PHP验证码
个人常用的一款PHP验证码,比较好用,使用方法也很简单 <img src="引用这个文件" />,验证码在网页中的应用是很重要的。
这里大概说下制作PHP验证码的原理,验证码通常分为图片和文字验证码,当然图片上也是文字,文字又可以分为多种了,这是在制作验证码时需要考虑的问题,比如生成中文的,字母的,大小写的等等,直接生成文字就是文字验证码了,再把生成的验证码合成图片,就是图片验证码,道理是不是很简单。
对于生成的验证码文字,不能是按照指定的规律来生成了,那么我们利用 PHP 函数来随机生成一个验证码,rand(1-5) 函数,这个函数就是随机生成1-5之间的数字的,也可以利用 random() 函数使随机验证码更复杂一些。
生成好验证码后,将验证码保存到 $_SESSION中,然后将 $_ESSION中的验证码与提交过来的验证码进行对比,如果一样,则通过,否则则不通过。
为了躲避机器人的识别,我们可以将验证码进行模糊,这就需要模糊函数了,最后通过 @header("Content-Type:image/png"); 设置 head 信息,输出图片。
验证码的基本原理就是这样的,当然,这么简单肯定是不行的,这里为了学习,利用上面的原理制作的一款 PHP 验证码如下,里面有注释,可用作学习研究使用。。
<?php session_start(); function random($len) { $str="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $s=""; for($i=0;$i <$len;$i++){ $s.=$str[rand(0,35)]; } return strtoupper($s); } $code=random(4); //随机生成的字符串 $width = 50; //验证码图片的宽度 $height = 20; //验证码图片的高度 $_SESSION["code"] = $code; $im=imagecreate($width,$height); //背景色 $back=imagecolorallocate($im,255, 255, 255); //模糊点颜色 $pix=imagecolorallocate($im,187,230,247); //字体色 $font=imagecolorallocate($im,41,163,238); //绘模糊作用的点 for($i=0;$i <1000;$i++) { imagesetpixel($im,rand(0,$width),rand(0,$height),$pix); } imagestring($im, 5, 7, 2,$code, $font); imagerectangle($im,0,0,$width-1,$height-1,$font); //设置head信息,输出图片 @header("Content-Type:image/png"); imagepng($im); imagedestroy($im); ?>
不错,先留着,暂时用不到
网站头部有的浏览器打开有代码,有代码可以解决吗?博主?
嗯,去了你网站几次,都是顶端有错误代码,但是可以评论成功,可以试一下容错语句屏蔽错误。
还是慢慢学吧,看不大懂。不知怎么加代码。汗死了。
直接前台验证么
嗯,放在前台进行验证使用的。
第一次来访,嘿嘿!学习了。
欢迎来访了。
给了源码我,还是不会弄。0.0
博主 为嘛你的网站打开感觉有点慢哦
速度还差不多呀,你从哪里打开的。
额 长沙这边 呵呵
验证码对防止机器人发布垃圾评论起了很大作用,所以一定要学习学习。
博主啥时候做几个主题
wp 刚开始研究没多久,说实话,还真不会做主题。
验证码不能显示的话,就很悲剧了。
这个好,很实用啊
哈哈马克一个挺实用
这个不错,博主很勤快呢。
用验证码不太友好。
现在有那个广告验证码
来看看,好玩不好玩,还是得玩玩。呵呵。。
验证码不好玩啊……