设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 网络编程 >> PHP教学 >> php实例 >> 教程正文
用PHP实现验证码功能
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-1
>

   //将四位整数验证码绘入图片
        imagestring($im, 5, 10, 8, $HTTP_GET_VARS['authnum'], $black);

        for($i=0;$i<50;$i++)   //加入干扰象素
        {
                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++)  

上一页  [1] [2] [3] [4] 下一页

分类推荐
社会 社会 娱乐 军事 校园
幽默 体育 女性 专题
电脑 编程 网页 软件 系统
安全 图象 冲浪 认证
搞笑 人物 动物 物品 表情
签名 色图 漫画 奇闻
美女 明星 清纯 自拍 欧美
丝袜 卡通 性感 走光
两性 知识 性图 孕育 技巧
同性 单身 情感 实录
视频 写真 搞笑 MTV 翻唱
写实 片段 游戏 综艺
php实例热门文章
普通教程 用PHPdig打造属于你自己的Goog
普通教程 PHP生成带有雪花背景的验证码
普通教程 一个简单的php在线端口扫描器
普通教程 用PHP构建一个留言本
普通教程 企业建站好帮手 PHPCMS快速入门
普通教程 用PHP和MYSQL建立计数器过程详
普通教程 基于PHP+MySQL的聊天室设计
普通教程 PHP自动生成月历代码
普通教程 多文件上载系统完整版
普通教程 使用PHP维护文件系统
普通教程 PHP分页显示制作详细讲解
普通教程 用PHP创建PDF中文文档
普通教程 在 PHP 中用描点法“绘制”中文
普通教程 web方式ftp
普通教程 图书管理程序(一)
普通教程 PHP百行代码快速构建简易聊天室
普通教程 用PHP实现标准的IP Whois查询
普通教程 做个自己站内搜索引擎
普通教程 用PHP编写PDF文档生成器
普通教程 用PHP实现验证码功能

  广东广州海珠区 世纪网络工作室 版权所有 上海电信提供网络带宽
信箱: 9297659@qq.com 粤ICP备06113754号