php实现的Captcha验证码类实例
这篇文章主要介绍了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程序设计的学习有一定的借鉴价值。
,
Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Validator can be created by adding the following two lines in the controller.
