您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

php实现的Captcha验证码类实例

2024/4/18 7:47:30发布7次查看
这篇文章主要介绍了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程序设计的学习有一定的借鉴价值。

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录