这篇文章主要介绍了php实现的Captcha验证码类,实例展示了一个验证码类程序并附有用法演示实例,有着非常好的参考借鉴价值,需要的朋友可以参考下
本文实例讲述了php实现的Captcha验证码类,在php程序设计中有着极其广泛的应用。分享给大家供大家参考。具体方法如下:
验证码类文件如下:
sname = $sname==''? 'm_captcha' : $sname; } /** 生成验证码图片 * @param int $length 验证码长度 * @param Array $param 參數 * @return IMG */ public function create($length=4,$param=array()){ Header("Content-type: image/PNG"); $authnum = $this->random($length); //生成验证码字符. $width = isset($param['width'])? $param['width'] : 13; //文字宽度 $height = isset($param['height'])? $param['height'] : 18; //文字高度 $pnum = isset($param['pnum'])? $param['pnum'] : 100; //干扰象素个数 $lnum = isset($param['lnum'])? $param['lnum'] : 2; //干扰线条数 $this->captcha_session($this->sname,$authnum); //将随机数写入session $pw = $width*$length+10; $ph = $height+6; $im = imagecreate($pw,$ph); //imagecreate() 新建图像,大小为 x_size 和 y_size 的空白图像。 $black = ImageColorAllocate($im, 238,238,238); //设置背景颜色 $values = array( mt_rand(0,$pw), mt_rand(0,$ph), mt_rand(0,$pw), mt_rand(0,$ph), mt_rand(0,$pw), mt_rand(0,$ph), mt_rand(0,$pw), mt_rand(0,$ph), mt_rand(0,$pw), mt_rand(0,$ph), mt_rand(0,$pw), mt_rand(0,$ph) ); imagefilledpolygon($im, $values, 6, ImageColorAllocate($im, mt_rand(170,255),mt_rand(200,255),mt_rand(210,255))); //设置干扰多边形底图 /* 文字 */ for ($i = 0; $i captcha_session($this->sname)){ //检测验证码 if($flag==1){ $this->captcha_session($this->sname,''); } return true; }else{ return false; } } } /* 产生随机数函数 * @param int $length 需要随机生成的字符串數 * @return String */ private function random($length){ $hash = ''; $chars = 'ABCDEFGHIJKLMNPQRSTUVWXYZ23456789'; $max = strlen($chars) - 1; for($i = 0; $i
demo示例程序如下:
create($length,$param); #创建Captcha并输出图片 # $length为Captcha长度,可留空,默认为4 /* $param = array( 'width' => 13 captcha 字符宽度 'height' => 18 captcha 字符高度 'pnum' => 100 干扰点个数 'lnum' => 2 干扰线条数 ) 可留空 */ $obj->check($captcha,$flag); # 检查用户输入的验证码是否正确,true or false # $captcha为用户输入的验证码,必填 # $flag 可留空,默认为1 # 1:当验证成功后自动清除captcha session # 0:挡验证成功后不清除captcha session,用于ajax检查 ?>
相信本文所述对大家php程序设计的学习有一定的借鉴价值。
,
热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Linux新版
SublimeText3 Linux最新版