`

php验证码一例(GD库生成验证码)

    博客分类:
  • PHP
 
阅读更多
通过GD生成PNG图片,并把$randval随机数字赋给$_SESSION['login_check_num'],在通过用户输入的$_POST进行比较,来判断是否正确。

注意:如果服务器未开启GD库支持,需要修改php.ini文件,使php支持GD库。
<?php
//调用生成验证码图片
//by http://www.jbxue.com
if($_GET["action"]=="verifycode")
{
    rand_create();
}
//生成验证码图片
function rand_create()
{
    //通知浏览器将要输出PNG图片
    Header("Content-type: image/PNG");
    //准备好随机数发生器种子 
    srand((double)microtime()*1000000);
    //准备图片的相关参数  
    $im = imagecreate(62,20);
    $black = ImageColorAllocate($im, 0,0,0);  //RGB黑色标识符
    $white = ImageColorAllocate($im, 255,255,255); //RGB白色标识符
    $gray = ImageColorAllocate($im, 200,200,200); //RGB灰色标识符
    //开始作图    
    imagefill($im,0,0,$gray);
    while(($randval=rand()%100000)<10000);{
        $_SESSION["login_check_num"] = $randval;
        //将四位整数验证码绘入图片 
        imagestring($im, 5, 10, 3, $randval, $black);
    }
    //加入干扰象素   
    for($i=0;$i<200;$i++){
        $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
        imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
    }
    //输出验证图片
    ImagePNG($im);
    //销毁图像标识符
    ImageDestroy($im);
}
//检验验证码
function rand_check()
{
    if($_POST["reg_rand"] == $_SESSION["login_check_num"]){
        return true;
    }
    else{
        exit("验证码输入错误");
    }
}
?>


本文原始链接:http://www.jbxue.com/article/7435.html
分享到:
评论

相关推荐

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

    这些知识点覆盖了使用PHP和GD库生成验证码的整个流程,从文本的准备、图像的创建到最终的用户验证,每一步都有详细的技术解释和代码示例。通过本文,你可以学会如何在PHP中创建一个包含汉字的图形验证码,增强你的...

    php gd库生成图片,只需要输入字符串,字数越多字体越小,水平垂直居中

    ### PHP GD 库生成图片:文字自适应大小与居中显示 #### 一、概述 在Web开发领域,动态生成图片是一项非常实用的功能,尤其是在处理图表、二维码、验证码等场景时。PHP内置的GD库(Graphics Drawing Library)提供...

    PHP字符扭曲图片验证码

    在本例中,GD库可能被用来创建一个新的图像,设置背景色,然后加载一个字体文件,如`arial.ttf`,用于绘制验证码文本。字体的大小、颜色以及位置都是可配置的,以增加多样性。 扭曲字符的方法通常包括旋转、缩放、...

    php实现Ajax带有验证码的登陆注册功能

    4. 实现验证码功能,可以使用PHP的GD库生成随机图像和字符串,存储在服务器会话中。 总的来说,这个项目结合了PHP、Ajax、jQuery和验证码技术,提供了一个用户友好的、安全的登录注册体验。通过这种方式,开发者...

    基于PHP制作验证码1

    (11)随机生成验证码字符串,for($i=0; $i; $i++) (12)使用 $_SESSION 变量传值,$_SESSION['string']=$string; (13)生成干扰元素,定义黑色,$black=imagecolorallocate($check_image, 0, 0, 0); (14)在...

    用php实现的中文验证码

    在这里,GD库被用于生成验证码的图像。 3. **随机中文字符生成**:生成随机中文字符的关键在于找到合适的字符集。PHP可以通过`mb_list_encodings()`函数列出所有支持的编码,然后从中选择一个支持中文的编码,如`'...

    验证码实例

    在这个实例中,我们以GD库为例。 1. **GD库**:GD库是PHP内置的图像处理库,可以用来创建、修改和显示各种格式的图像。在PHP中,我们可以通过`imagecreatetruecolor()`函数创建一个新的图像,然后通过`...

    基于PHP生成简单的验证码

    3. 验证码生成的原理:生成验证码的基本原理是创建一个包含干扰线和噪点的图像,在此图像上随机生成一组字符。这些字符会以随机的颜色、大小、字体和倾斜角度呈现,有时还会加上背景噪音,从而使得自动识别变得困难...

    php生成验证码函数

    使用PHP生成验证码的函数时,要确保服务器支持GD库,因为该库提供了创建和操作图像的功能。此外,由于验证码的目的在于安全性,还需要考虑在实际应用中采取措施防止常见的验证码破解手段,例如在图像上添加扭曲字符...

    使用js来刷新验证码

    这段代码中,我们使用了GD库来创建一个图像,并在其中绘制了验证码数字以及干扰线和点。`arial.ttf`是字体文件,可以根据需要替换为其他TrueType字体。生成的验证码图像将作为PNG图片发送到浏览器。 接下来,我们...

    解决Mac OS X 自带PHP环境gd库扩展缺少freetype的问题

    freetype是一个开源的字体库,对于处理TrueType、OpenType等字体格式至关重要,因此在进行图像生成或动态图表制作时,如果GD库没有freetype扩展,将无法正确显示某些字体。 为了解决这个问题,我们可以按照以下步骤...

    PHP生成图片验证码、点击切换实例

    这是生成验证码并验证用户输入的关键步骤。 2. 随机字符串生成:使用自定义函数random()来生成一个随机字符串,作为验证码的文本。这个函数接受一个参数$len,表示生成字符串的长度,由字母和数字随机组合而成,...

    php代码验证码

    这里我们以GD库为例,创建一个新的图像,设置背景色,然后用随机颜色和字体大小写入验证码。 ```php $image = imagecreatetruecolor(120, 50); // 创建图像 $background_color = imagecolorallocate($image, 255, ...

    PHP编写登录验证码功能 附调用方法

    PHP验证码功能的实现主要依赖于几个关键点:生成随机字符串、创建图像、设置Cookie或Session以及使用GD库进行图像处理。 首先,生成随机字符串通常会使用一个自定义函数,比如文中提到的`domake_password`函数。这...

    php实现可运算的验证码

    本例中使用php语言编写,将生成验证码的过程分为两个主要部分:生成验证码文本和生成验证码图片。php中的session机制用于存储验证码文本和用户填写的答案。 接着,详细解释了验证码文本的生成过程。验证码文本由三...

    页面验证码例子

    以PHP为例,可以使用GD库来创建扭曲的文字验证码。首先,创建一个空白图像,然后随机选择字体、颜色和角度,将验证码文本扭曲后绘制到图像上,最后添加一些随机噪声线和背景色,以增加机器识别的难度。 对于开发...

    PHP实现变色验证码实例

    变色验证码的实现依赖于PHP的GD库,GD库是PHP中处理图像的一个扩展库,它允许你创建和处理图像。实现变色验证码的过程包括以下几个关键步骤: 1. 创建一个真彩色图像,并且分配背景颜色。在本例中,背景色为白色。 ...

    php实现网页端验证码功能

    通过PHP实现网页端的验证码功能,我们可以利用GD库来生成图像,再结合一些随机算法来生成验证码。 首先,验证码的生成涉及几个基本步骤: 1. 创建图像资源:使用`imagecreatetruecolor()`函数创建一个真彩色图像,...

    php将gd生成的图片缓存到memcache的小例子

    在PHP开发中,利用GD库生成图片以及利用Memcache进行数据缓存是常见的性能优化手段。本文将介绍如何将GD库生成的图片缓存到Memcache中,以减少数据库和服务器的负载压力,提升网站的响应速度。以下内容将详细解释...

    PHP+Ajax实现验证码的实时验证

    通常,我们创建一个PHP脚本(例如`generate_captcha.php`),它会随机生成一组字符,并使用GD库或其他图像处理库绘制到图像上。然后,这个验证码值会被存储在服务器端,通常是通过session来实现的。在本例中,由于...

Global site tag (gtag.js) - Google Analytics