Christyfan Blog System

Powered by chenvle 粤 ICP备19006505号

ThinkPHP 5.1验证码及验证码验证功能的实现

发布时间:2019-04-15 11:42:24

通过composer 安装think-captcha 扩展包

composer require topthink/think-captcha

在控制器的头部引入扩展包

use think\captcha\Captcha;

并编写方法(可自定义参数,方法在下文)

public function verify()
{ ob_clean();//清除缓存 $captcha = new Captcha();
return $captcha->entry();
}

在前端需要用验证码的地方直接引用地址(user是控制器)

<img src="{:url('user/verify')}" alt="captcha" />


验证验证码是否正确

// 检测输入的验证码是否正确,$value为用户输入的验证码字符串
$captcha = new Captcha();
if( !$captcha->check($value))
{
// 验证失败
}

或者

/ 检测输入的验证码是否正确,$value为用户输入的验证码字符串
if( !captcha_check($value ))
{
// 验证失败
}

完成。


以下是自定义验证码的参数

//验证码
public function verify()
{
$config = [
// 验证码字体大小
'fontSize' => 30,
// 验证码位数
'length' => 4,
// 关闭验证码杂点
'useNoise' => true,
// 验证码图片高度
'imageH' => 60,
// 验证码图片宽度
'imageW' => 200,
// 验证码过期时间(s)
'expire' => 1800,
]; ob_clean();//清除缓存 $captcha = new Captcha($config);
return $captcha->entry();
}