PHP
发布时间:2022-04-09 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP生成加减算法方式的验证码实例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是在网上找的一个demo,我加入了一部分代码。可以使用。
这里需要说明一下,我们调用这个验证码类应该在一个单独的控制器方法中使用。
生成的图片的算法是用代码生成的,然后把计算值存入session中。
验证的时候是获取用户的输入值,然后取出服务端的值进行对比
<>
PHP
namespace mobile\components;
/
**
* @author fenghuo
*
* 改造的加减法验证类
* 使用示例 VerifyCode::get(1,2
);
* 验证示例 VerifyCode::
check($cod
E);
*/
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($cod
E)
{
if(trim($_SESSION[$prefix.'verifycode']) == trim($cod
E))
{
return true;
} else
{
return
false;
}
}
}
大佬总结
以上是大佬教程为你收集整理的PHP生成加减算法方式的验证码实例全部内容,希望文章能够帮你解决PHP生成加减算法方式的验证码实例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。