ajax图片验证码: PHP生成各种验证码和Ajax验证

验证码在WEB应用中非常重要,通常用来防止用户恶意提交表单,如恶意注册和登录、论坛恶意灌水等。本文将通过实例讲解使用PHP生成各种常见的验证码包括数字验证码、数字+字母验证码、中文验证码、算术验证码等等以及其Ajax验证过程。
PHP生成验证码图片
PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中。PHP生成验证码的大致流程有:
1、产生一张png的图片;
2、为图片设置背景色;
3、设置字体颜色和样式;
4、产生4位数的随机的验证码;
5、把产生的每个字符调整旋转角度和位置画到png图片上;
6、加入噪点和干扰线防止注册机器分析原图片来恶意破解验证码;
7、输出图片;
8、释放图片所占内存。
应某位同学的要求,下面我们以php100.com的文章评论所用的验证码为例,讲解验证码的生成过程,直接上代码。
 
session_start(); 
getCode(4,60,20); 
 
function getCode($num,$w,$h) { 
    $code = ""; 
    for ($i = 0; $i < $num; $i++) { 
        $code .= rand(0, 9); 
    } 
    //4位验证码也可以用rand(1000,9999)直接生成 
    //将生成的验证码写入session,备验证时用 
    $_SESSION["helloweba_num"] = $code; 
    //创建图片,定义颜色值 
    header("Content-type: image/PNG"); 
    $im = imagecreate($w, $h); 
    $black = imagecolorallocate($im, 0, 0, 0); 
    $gray = imagecolorallocate($im, 200, 200, 200); 
    $bgcolor = imagecolorallocate($im, 255, 255, 255); 
    //填充背景 
    imagefill($im, 0, 0, $gray); 
 
    //画边框 
    imagerectangle($im, 0, 0, $w-1, $h-1, $black); 
 
    //随机绘制两条虚线,起干扰作用 
    $style = array ($black,$black,$black,$black,$black, 
        $gray,$gray,$gray,$gray,$gray 
    ); 
    imagesetstyle($im, $style); 
    $y1 = rand(0, $h); 
    $y2 = rand(0, $h); 
    $y3 = rand(0, $h); 
    $y4 = rand(0, $h); 
    imageline($im, 0, $y1, $w, $y3, IMG_COLOR_STYLED); 
    imageline($im, 0, $y2, $w, $y4, IMG_COLOR_STYLED);  本文链接http://www.cxybl.com/html/wlbc/Php/20130729/39382.html

时间: 2024-10-31 08:17:57

ajax图片验证码: PHP生成各种验证码和Ajax验证的相关文章

JavaScript 随机验证码的生成实例代码_javascript技巧

随机验证码的生成 1: 主体部分 <script> var code ; //在全局 定义验证码 function createCode() { code = ""; var codeLength = 6;//验证码的长度 var checkCode = document.getElementById("checkCode"); var selectChar = new Array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D',

php生成图片验证码-附五种验证码_php实例

以前输出验证码的时候用过一个方法,在前台用JS生成验证码字符串,再传递到后台用PHP输出验证码图像.这样在验证时就不需要使用$_SESSION传递验证码的值,直接用JS比较生成的字符串和输入的字符串是否相等即可. 本文以实例演示5种验证码,并介绍生成验证码的函数.PHP生成验证码的原理:通过GD库,生成一张带验证码的图片,并将验证码保存在Session中. 1.HTML 5中验证码HTML代码如下: <div class="demo"> <h3>1.数字验证码&

PHP图形验证码生成代码与包括Ajax验证实例应用(1/2)

有3个文件: authcode.php-----验证码的生成php文件 authcode.html-----前台显示页面 dealauthcode.php-----ajax提交到的后台处理判断验证码是否正确的处理页面 */ ?> 前台调用验证码代码  代码如下 复制代码 <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xh

PHP图形验证码生成代码与包括Ajax验证实例应用

php教程图形验证码生成代码与包括ajax验证实例应用 以前写的验证码程序都是提供了源代码,但是没真的实的图形验证码生成到验证实例,这次我们一个完整的php 验证实例产生了. 有3个文件: authcode.php-----验证码的生成php文件 authcode.html-----前台显示页面 dealauthcode.php-----ajax提交到的后台处理判断验证码是否正确的处理页面 */ ?> 前台调用验证码代码 <!doctype html public "-//w3c//

php生成动态验证码gif图片_php技巧

这是一个通过php生成的动态验证码图片的示例,重点是可以运行哦!下面先发下效果图: 下面是php生成动态验证码需要用到的相关类和函数. <?php /** *ImageCode 生成包含验证码的GIF图片的函数 *@param $string 字符串 *@param $width 宽度 *@param $height 高度 **/ function ImageCode($string='',$width=75,$height=25){ $authstr=$string?$string:((tim

利用iOS绘制图片生成随机验证码示例代码_IOS

先来看看效果图 实现方法 .h文件 @property (nonatomic, retain) NSArray *changeArray; @property (nonatomic, retain) NSMutableString *changeString; @property (nonatomic, retain) UILabel *codeLabel; -(void)changeCode; @end .m文件 @synthesize changeArray = _changeArray;

ASP.NET生成图形验证码的方法详解_实用技巧

本文实例讲述了ASP.NET生成图形验证码的方法.分享给大家供大家参考,具体如下: 通常生成一个图形验证码主要 有3个步骤: (1)随机产生一个长度为N的随机字符串,N的值可由开发可由开发人员自行设置.该字符串可以包含数字.字母等. (2)将随机生成的字符串创建成图片,并显示. (3)保存验证码. 新建一个页面为default.aspx,  放置一个TextBox控件和一个Image控件,TextBox控件用于输入生成的字符串,Image控件用于显示字符串,它的图片就为生成的图形验证码image

简单验证码的生成及显示

显示|验证码|验证码 为了对付暴力破解登录密码,在用户注册或者登录的时候采用输入验证码被普遍采用.生成验证码的方法有很多,这里仅介绍生成数字验证码的思路及实现方法.(以下程序语言均为VBS) 数字验证码一般由随机数生成,也可以由时间生成,例如分别取分.秒.毫秒,但笔者认为其安全性不及前者. 1.验证码的生成程序(采用随机数方式) [FileName]:getverifycode.asp [Code]:<% dim getrandom Randomize '设置随机因子 getrandom=mid

PHP5中GD库生成图形验证码(有汉字)

本文为大家介绍下利用PHP5中GD库生成图形验证码而且带有汉字,具体的实现思路及代码如下,有需求的朋友可以参考下,希望对大家学习php有所帮助   利用PHP5中GD库生成图形验证码   类似于下面这样 1.利用GD库函数生成图片,并在图片上写指定字符 imagecreatetruecolor 新建一个真彩色图像 imagecolorallocate 为一幅图像分配颜色(调色板) imagestring 绘制字符 imageline 绘制线条 imagesetpixel 打像素点 2.输出图片