PHP验证码程序:session生成图片
PHP验证码程序:session生成图片
Author:Flymorn Source:飘易博客
Categories:PHP编程 PostTime:2008-4-28 11:38:37
正 文:
昨天捣鼓了一下PHP验证码并生成图片程序,采用了session识别,稍微改进了一下目前网络上流传的PHP验证码,加入杂点,数字颜色随机显示,控制4位数字显示;话不多说了,程序如下,分享出来。效果图如下:
新建yz.php验证码生成文件:注意:以下代码需要打开php的GD库,修改php.in文件的配置,把已经注释掉的行之前的分号取消即可:extension=php_gd2.dll。
<?
session_start();
//生成验证码图片
Header("Content-type:image/PNG");
$im=imagecreate(44,18);
$back=ImageColorAllocate($im,245,245,245);
imagefill($im,0,0,$back);//背景srand((double)microtime()*1000000);
//生成4位数字
for($i=0;$i<4;$i++){
$font=ImageColorAllocate($im,rand(100,255),rand(0,100),rand(100,255));
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im,5,2+$i*10,1,$authnum,$font);
}for($i=0;$i<100;$i++)//加入干扰象素
{
$randcolor=ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im,rand()%70,rand()%30,$randcolor);
}
ImagePNG($im);
ImageDestroy($im);$_SESSION['VCODE']=$vcodes;
?>
到具体调用的地方,用这样的形式:<imgsrc="/yz.php"align="absmiddle"/>就可以了;验证的时候验证session:$_SESSION['VCODE']的值就可以了。还可以对以上代码稍微改进,改成两个数字相加求和的形式,效果可以参见《ASP生成Bmp图片验证码:数字相加求和》。ps:2010.4.20更新:PHP的更高级的验证码移步这里看:随机扭曲、旋转、变形(仿Google验证码)的php验证码。
作者:Flymorn
来源:飘易博客
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
Tag:浏览(次)
上一篇:Google PR更新了,五一节快乐
下一篇:google adsense出现找女朋友的广告
24条评论 “PHP验证码程序:session生成图片”
1 小舟
2008-4-28 23:05:24
PHP一点都不懂啊,汗
2 不错
2008-10-22 15:49:11
用上了,session_start();真麻烦,不过也解决了。
3 ha
2008-12-1 21:45:01
好!谢谢!
4 鬼武者
2009-2-18 21:52:19
站长好厉害啊!崇拜你!
5 心风
2009-3-4 18:13:36
找了许久终于发现个能用的。感谢。好好研究。
6 华晨
2009-8-23 13:06:18
学习了,拿回去研究
7 小七
2009-8-24 15:03:13
Linux下怎么不能正常显示!!!?求教了1
8 ghb
2009-9-2 15:17:45
这个不显示嘛!
9 叶子
2009-11-5 11:10:41
谢谢,很好用。
10 sky
2009-11-16 12:07:59
为什么显示不出来
11 mynameinnon
2009-12-19 13:33:22
图片是PNG格式的,换个格式就可以显示了
12 啊~
2010-1-25 15:35:56
我弄出来发现SESSION存的是上一个session期的值
13 turismochina
2010-2-8 22:13:31
下载了..谢谢http://http://www.zjjv.com///
14 萝卜
2010-3-21 9:52:38
下载去研究一下
15 jackbauer
2010-5-24 0:44:37
博主可否详细告知php验证码的知识啊,不胜感激。。bauerctu@vip.qq.com
16 dk79999
2010-11-7 20:58:25
不错支持楼主,用上了效果很好
17 cnpottery.com
2011-2-9 15:25:01
一直在找可用的验证码,可惜这个没有安全性
18 TonyLevid
2011-5-9 11:35:52
Tony’simgBorn,php图像生成类,多功能验证码,缩略图,水印.
我最近写的,已经封装好,比较安全
19 FASTOREE
2011-5-17 18:42:06
搞定了不用传值。直接调用就对了
20 luckday
2011-9-21 17:41:27
代码有误,第14行$vcodes.=$authnum;应该改为:$vcodes=$authnum;否则显示不出来的
21 luckday
2011-9-21 21:15:24
我这边测试时要加一句:$vcodes="";否则$vcodes.=$authnum;这一句会出错
22 luckboy
2012-5-7 12:50:35
我发现最好用的验证码是皕应的http://http://www.zjjv.com//hcaptcha,还有动画的效果也不错,听说是最专业的验证码系统,呵呵,我的项目里有那个的情况感觉也不错,还挺稳定的
23 luckboy
2012-5-8 8:34:01
用皕应的hcaptcha验证码吧,
24 luckboy
2012-5-11 15:06:31
用皕应的HCaptcha吧,不用这么麻烦,安全,专业,毕竟是专门做这个的,我们项目用了这个感觉非常不错,推荐http://http://www.zjjv.com//
发表评论
名称(*必填)
邮件(选填)
网站(选填)
记住我,下次回复时不用重新输入个人信息
目 录
飘易搜索
最新文章
相关文章
随机文章