![]() |
|
||||||||||||||
| | 网站首页 | 电脑技术 | 免费资源 | 文章中心 | 下载中心 | 图片中心 | | ||
|
||
|
|||||
| 用PHP实现验证码功能08 | |||||
作者:佚名 电脑技术来源:本站原创 点击数: 更新时间:2008-1-12 ![]() |
|||||
|
{ imagesetpixel($im, rand()%70 , rand()%30 , $black); } ImagePNG($im); ImageDestroy($im); ?> 本文程序在Apache 2.0.45 + PHP 4.3.1环境下运行通过。 上文只是对验证码功能的一个简单实现,并没有考虑商用安全性问题。如果要增强安全性,将此功能投入商业应用,则可以通过以下几个步骤实现: 1. 启用Session。 2. authnum在authimg.php中生成,并计算md5sum,存入session。 3. authpage.php将authinput计算md5sum后,与session中的authnum(md5sum)对比得出验证结果。 本站注:作者使用了简单的代码实现了很酷的功能。不过在添加干扰像素时的效果不是太好,大家可以看一下雨声论坛登录时的效验码(http://ror.cn/perl/ut/user_login.cgi),偶把第二段代码稍改了一下,生成了与其类似的效果。 修改后的代码如下: <?php /* * Filename: authimg.php * Author: hutuworm * Date: 2003-04-28 * @Copyleft hutuworm.org */ //生成验证码图片 Header("Content-type: image/PNG"); srand((double)microtime()*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,$gray); while(($authnum=rand()%100000)<10000); //将四位整数验证码绘入图片 imagestring($im, 5, 10, 3, $authnum, $black); for($i=0;$i<200;$i++) //加入干扰象素 { $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); } ImagePNG($im); ImageDestroy($im); ?> 显示结果如下图: |
|||||
| 电脑技术录入:lcsnow 责任编辑:lcsnow | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关电脑技术 |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|