PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP生成加减算法方式的验证码实例大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

这是在网上找的一个demo,我加入了一部分代码。可以使用。

这里需要说明一下,我们调用这个验证码类应该在一个单独的控制器方法中使用。

生成图片的算法是用代码生成的,然后把计算值存入session中。

验证的时候是获取用户的输入值,然后取出服务端的值进行对比

<>PHP 
namespace mobile\components;
/** 
 * @author fenghuo 
 * 
 * 改造的加减法验证类 
 * 使用示例 VerifyCode::get(1,2); 
 * 验证示例 VerifyCode::check($codE); 
 */ 
class VerifyCode 
{ 
  /** 
   * PHP验证码 
   */ 
  public static function get($one,$two,$prefix = '',$font_size = 28) 
  { 
    //文件头... 
    ob_get_clean();
    header("Content-type: image/png;charset=utf-8;"); 
    //创建彩色白纸 
    $width      = $font_size*5; 
    $height      = $font_size+1; 
    $im        = @imagecreatetruecolor($width,$height) or die("建立图像失败"); 
    //获取背景颜色 
    $BACkground_color = imagecolorallocate($im,255,255); 
    //填充背景颜色 
    imagefill($im,$BACkground_color); 
    //获取边框颜色 
    $border_color   = imagecolorallocate($im,200,200); 
    //画矩形,边框颜色200,200 
    imagerectangle($im,$width - 1,$height - 1,$border_color); 
    //逐行炫耀背景,全屏用1或0 
    for($i = 2;$i @H_674_15@ $secondNum ? '-' : '+'; 
    //获取1个随机文字 
    $imstr[0]["s"] = $firstNum; 
    $imstr[0]["x"] = rand(2,5); 
    $imstr[0]["y"] = rand(1,4); 
    //获取第2个随机文字 
    $imstr[1]["s"] = $actionStr; 
    $imstr[1]["x"] = $imstr[0]["x"] + $font_size - 1 + rand(0,1); 
    $imstr[1]["y"] = rand(1,5); 
    //获取第3个随机文字 
    $imstr[2]["s"] = $secondNum; 
    $imstr[2]["x"] = $imstr[1]["x"] + $font_size - 1 + rand(0,1); 
    $imstr[2]["y"] = rand(1,5); 
    //获取第3个随机文字 
    $imstr[3]["s"] = '='; 
    $imstr[3]["x"] = $imstr[2]["x"] + $font_size - 1 + rand(0,1); 
    $imstr[3]["y"] = 3; 
    //获取第3个随机文字 
    $imstr[4]["s"] = '?'; 
    $imstr[4]["x"] = $imstr[3]["x"] + $font_size - 1 + rand(0,1); 
    $imstr[4]["y"] = 3; 
    //文字 
    $text = ''; 
    //写入随机字串 
    for($i = 0; $i < 5;="" $i++)="" {="" 获取随机较深颜色="" $text_color="imagecolorallocate($im,rand(50,180),180));" $text="" .="$imstr[$i]["s"];" 画文字="" imagechar($im,$font_size,$imstr[$i]["x"],$imstr[$i]["y"],$imstr[$i]["s"],$text_color);="" }="" session_start();="" $_session[$prefix.'verifycode']="$firstNum"> $secondNum ? ($firstNum - $secondNum) : ($firstNum + $secondNum); 
    //显示图片 
    ImagePng($im); 
    //销毁图片 
    ImageDestroy($im); 
  } 
  public static function check($codE) 
  { 
    if(trim($_SESSION[$prefix.'verifycode']) == trim($codE)) { 
      return true; 
    } else { 
      return false; 
    } 
  } 
} 

大佬总结

以上是大佬教程为你收集整理的PHP生成加减算法方式的验证码实例全部内容,希望文章能够帮你解决PHP生成加减算法方式的验证码实例所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: