`
m22543
  • 浏览: 14162 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

php生成验证码函数

Web 
阅读更多

php生成验证码的函数,实用靠谱。先上下生成的验证码的效果图(这里生成的是全数字的验证码的示例效果):

 php生成验证码函数

下面是php生成验证码的源码:

  1. <?php 
  2. session_start(); 
  3. //session_register('CheckCode');  
  4. //PHP4.2以上版本不需要用session_register()注册SESSION变量 
  5. $type='gif'
  6. $width= 45; 
  7. $height= 20; 
  8. header("Content-type: image/".$type); 
  9. srand((double)microtime()*1000000); 
  10. if(isset($_GET['action'])){ 
  11.     $randval=randStr(4,$_GET['action']);     
  12. }else
  13.     $randval=randStr(4,'');  
  14. if($type!='gif'&&function_exists('imagecreatetruecolor')){ 
  15.     $im=@imagecreatetruecolor($width,$height); 
  16. }else
  17.     $im=@imagecreate($width,$height); 
  18. $r=Array(225,211,255,223); 
  19. $g=Array(225,236,237,215); 
  20. $b=Array(225,236,166,125); 
  21. $key=rand(0,3); 
  22. $backColor=ImageColorAllocate($im,$r[$key],$g[$key],$b[$key]);//背景色(随机) 
  23. $borderColor=ImageColorAllocate($im,127,157,185);//边框色 
  24. $pointColor=ImageColorAllocate($im,255,170,255);//点颜色 
  25. @imagefilledrectangle($im,0,0,$width - 1,$height - 1,$backColor);//背景位置 
  26. @imagerectangle($im,0,0,$width-1,$height-1,$borderColor); //边框位置 
  27. $stringColor=ImageColorAllocate($im,255,51,153); 
  28. for($i=0;$i<=100;$i++){ 
  29.     $pointX=rand(2,$width-2); 
  30.     $pointY=rand(2,$height-2); 
  31.     @imagesetpixel($im,$pointX,$pointY,$pointColor); 
  32. @imagestring($im,5,5,1,$randval,$stringColor); 
  33. $ImageFun='Image'.$type
  34. $ImageFun($im); 
  35. @imagedestroy($im); 
  36. $_SESSION['CheckCode']=$randval
  37. function randStr($len=6,$format='ALL'){ 
  38.     switch($format){ 
  39.         case 'ALL'://生成包含数字和字母的验证码 
  40.             $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'break
  41.         case 'CHAR'://仅生成包含字母的验证码 
  42.             $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'break
  43.         case 'NUMBER'://仅生成包含数字的验证码 
  44.             $chars='0123456789'break
  45.         default : 
  46.             $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'break
  47.     } 
  48.     $string=''
  49.     while(strlen($string)<$len
  50.     $string.=substr($chars,(mt_rand()%strlen($chars)),1); 
  51.     return $string

该函数的具体使用方法请看如下这个示例(这里是生成全数字的验证码): 更多PHP教程,请访问代码家园

  1. <img src="checkCode.php?action=NUMBER" width="45" height="20" /> 

 


本文原地址:http://www.daimajiayuan.com/sitejs-16919-1.htm

分享到:
评论

相关推荐

    php生成验证码类,已封装

    总的来说,PHP生成验证码类是一个集成了多种图形处理技巧的工具,通过GD库和自定义逻辑,可以创建出具有高安全性和良好用户体验的验证码。这种验证码类不仅可以防止自动化攻击,还可以根据需求定制各种视觉效果,...

    PHP实现生成验证码的代码

    通过对 `identifyingcode.php`、`testidentifyingcode.php` 和 `testidentifyingcode.html` 文件的详细分析,我们可以了解到如何使用PHP生成和验证验证码的基本流程。此外,还可以进一步改进和增强该系统的安全性与...

    php动态随机生成验证码类

    这个PHP动态随机生成验证码类旨在创建具有以下特点的验证码: 1. **动态生成**:验证码图片是每次请求时实时生成的,确保每次展示的验证码都是独一无二的,增加了破解的难度。 2. **纯白色填充**:背景通常采用纯...

    php图片验证码函数

    标题与描述中的“php图片验证码函数”涉及到的知识点主要包括PHP中的图像处理库使用、验证码的生成逻辑、会话管理(session)以及随机数生成等技术。下面将详细解析这些知识点: ### 1. PHP图像处理库 PHP提供了GD库...

    php一个精致的验证码类(生成验证码,验证验证码)

    本篇文章将围绕标题“php一个精致的验证码类(生成验证码,验证验证码)”进行详细讲解,探讨如何创建一个高效、实用的验证码生成器。 首先,我们需要了解GD库。GD是PHP中常用的图像处理库,它支持多种图像格式,...

    php生成简单的文字+数字组合的验证码案例

    6. **安全性考虑**:为了提高安全性,我们还可以在生成验证码时添加一些额外的步骤,比如添加噪点、线条,或者使用更复杂的字符集,防止OCR工具自动识别。同时,每次新的验证码生成时,应清除旧的session数据,避免...

    PHP生成随机验证码

    在使用PHP生成验证码之前,必须确保GD2扩展已经启用。在PHP的配置文件`php.ini`中,找到`extension=php_gd2.dll`(对于Windows环境)或`extension=gd2`(对于Unix/Linux环境),取消注释并保存更改,然后重启服务器...

    PHP 生成验证码的图片

    本文将深入探讨如何使用PHP生成验证码的图片。 验证码的主要目的是验证用户是人而不是机器。通常,验证码会显示一组随机生成的字母或数字,用户需要正确输入这些字符才能完成操作。PHP提供了多种方法来创建这样的...

    PHP生成验证码图片+水印

    以上就是PHP生成验证码图片的基本流程。在`ValidateImg.php`文件中,你可以看到这些步骤的实现。如果你对某个部分有疑问或者需要更详细的代码示例,可以查看这个文件进行学习和参考。通过理解和实践这个过程,你将...

    PHP生成图片验证码

    PHP生成图片验证码主要涉及以下几个步骤: 1. **生成随机字符串**:使用PHP的内置函数`rand()`或`mt_rand()`生成一个随机字符串。例如,我们可以生成一个由4个字母和数字组成的字符串,使用`str_shuffle()`打乱顺序...

    php高安全验证码生成类

    在生成验证码时,我们可以使用GD库的`imagecreatetruecolor()`函数创建一个真彩色图像,然后通过`imagecolorallocate()`分配颜色,`imagestring()`或`imagettftext()`函数写入文字。 - ImageMagick库则提供更强大的...

    php生成图片验证码.pdf

    在验证码生成中,imagecreate() 函数用于创建一个 65x25 的图像区域,用于生成验证码。 imagecolorallocate() 函数 imagecolorallocate() 函数用于将一个颜色分配给图像资源。在验证码生成中,imagecolorallocate...

    PHP语言编写的随机验证码的生成

    在PHP编程中,生成随机验证码是一项常见的任务,用于防止机器人自动提交表单或者增加网站安全性。验证码(CAPTCHA)是一种全自动区分计算机和人类的图灵测试,它的主要目的是确保用户是真实的人,而不是自动化程序。...

    php生成验证码

    验证码是网络安全领域中的一种常见...总的来说,掌握PHP生成验证码的技巧是构建安全Web应用的基础,这有助于防止恶意攻击,保护用户数据安全。通过不断优化验证码的设计和实现,我们可以创建更加高效且安全的验证机制。

    php程序如何生成验证码图片

    ### PHP生成验证码图片的核心步骤 #### 1. 设置响应头类型为图片格式 首先,通过`Header("Content-type:image/PNG");`设置HTTP响应头,告诉浏览器即将接收到的是PNG格式的图片数据,这是生成验证码图片的第一步。 ...

    php生成验证码代码

    ### PHP生成验证码代码知识点解析 #### 一、代码概述 本段PHP代码主要实现了自动生成图形验证码的功能。验证码是网站防止恶意操作的一种手段,通过让用户输入由系统随机生成的字符来验证用户是否为真实的人类操作。...

    php生成图形验证码实用.pdf

    1. 随机生成验证码字符:使用 `rand` 函数生成随机数,然后从预定义的验证码字体串中选择对应的字符。 2. 创建图片:使用 `imagecreate` 函数创建一个空白图像,指定图片的宽度和高度。 3. 设置图片的背景颜色:使用...

    一个php验证码生成类代码.zip

    2. 调用类的`generate()`方法生成验证码图像和字符串。 3. 将图像输出到浏览器,通常使用`header()`函数设置MIME类型,然后调用`imagepng()`或`imagejpeg()`函数。 4. 使用`session_start()`开启会话,将生成的...

Global site tag (gtag.js) - Google Analytics