TAGS:PHP 数字验证码 图片
在做信息提交时,为了防止被机器人自动添加数据,常采用的是图片格式的数字验证码来进行验证。在PHP编程中,图片格式的数字验证码,是怎么实现的呢?是不是很复杂呢?茶农在这里贴上一段带注释的代码,相信大家一看就明白啦!在些基础上,实现使用汉字来作为验证码,也不是一件困难的事情。(省略如何进行验证部分的代码)
<?php
/*
* Filename: authimg.php
* 生成彩色验证码图片
*/
Header("Content-type: image/PNG");
$authnum = rand(1000,9999);//产生一个长度为四位的数字作为验证码
$x_size = 60;//图像的宽度
$y_size = 20;//图像的高度
$im = imagecreate($x_size,$y_size); //创建一个大小为x_size和y_size的空白图像
$black = ImageColorAllocate($im, 0,0,0); //创建调色板,定义颜色
$gray = ImageColorAllocate($im, 200,200,200); //创建调色板,定义颜色
imagefill($im,60,20,$gray); //填充背景色,背景颜色为定义的gray
imagestring($im, 5, 10, 3, $authnum, $black); //将验证码绘入图像,字体颜色为定义的black
//在图片中加入100个干扰象素,防止OCR
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); //在图片中用randcolor定义的颜色画点
}
ImagePNG($im); //将GD 图像流im以 PNG 格式输出到标准输出
ImageDestroy($im); //释放与 im 关联的内存
?>
注意:
1,rand()函数的用法
int rand ( [int min, int max] ) 随机产生一个大小在min和max之间的整数
自 PHP 4.2.0 起,rand()不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已自动完成。
所以啦,在这里就直接使用rand(1000,9999)来随机产生一个长度为四位的整数。
2,运行环境:
PHP4.2.0以上版本,GD库要允许运行
来自:http://hi.baidu.com/8286809/blog/item/15f9510e61f5fac87bcbe180.html
相关推荐
漂亮的php验证码,包含支持多字体,字母验证码,数字验证码,经过改进的支持多字体的php验证码,很清爽的感觉,也很大气,适合做商业网站开发插件,同时过滤了几个容易混淆的数字与字母。
好用的php验证码类,具体用法在代码的注释里面。感兴趣的朋友们可以下载下来,用到自己的项目中。
PHP验证码的应用示例PHP验证码的应用示例PHP验证码的应用示例
漂亮的php 验证码 使用运行page.php
php 验证码 源码 范例 简单 基础 入门
php中文验证码类 php验证码类 php验证码
一个简单的php验证码程序,生成的验证码存在session中,未加密,大家可以自己加密。
php验证码生成类
php验证码类,可以根据自己项目情况设置文字长度,大小
php 验证码 简单、实用 php 验证码 简单、实用
一个php验证码样式类,PHP生成验证码没有想象中的难,实例化对象,并设置验证码图片的宽、高和验证码的长度。创建图片,干扰颜色,干扰点,干扰线,验证码写入图片。
简单完整的PHP验证码,PHP验证码,数字结合英文。
实用的php验证码类
推荐一个好用的php验证码类,$image->config('宽度','高度','字符个数','验证码session索引'),默认是:宽80 高20 字符数4 验证码session索引captcha_code 。
PHP验证码图片生成程序,一起研究一下吧
一个PHP验证码小实例,非常试用与初学者,下载试试看吧,
分享一个php验证码生成类代码,通过该方法向浏览器输出图像,创建图像背景,设置干扰元素,向图像中随机画出文本,输出图像。
php验证码类
定制化的php验证码类 创建验证码图像: 建立画布(__construct函数) 设置画布背景($this->set_bgcolor();) 获取随机字符串($this->get_randnum ();) 文字写到图片上(imagestring函数)...
自制php验证码(php类),兼容中英文混合,多种模式选择,可支持纯色和随机色彩,支持杂色,线条混淆,可自定义,可扩展,如果觉得可以,在博客http://www.xinboys.com支持一下,谢谢