百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> TP6验证码验证失败的缘由以及解决方法
分享文章到:

TP6验证码验证失败的缘由以及解决方法

发布时间:09/01 来源:未知 浏览: 关键词:

第一使用Composer安置think-captcha扩展包:

composer require topthink/think-captcha

操纵器引入

use think\captcha\facade\Captcha;
生成验证码
public function verify()
{
    return Captcha::create();
}

验证验证码

if( !Captcha::check($vercode)) {
    return json(['code'=>1001, 'msg'=>'验证码错误');
}

check的办法

/**
 * 验证验证码可否准确
 * @access public
 * @param string $code 会员验证码
 * @return bool 会员验证码可否准确
 */
public function check(string $code): bool
{
    if (!$this->session->has('captcha')) {
        return false;
    }
 
    $key = $this->session->get('captcha.key');
 
    $code = mb_strtolower($code, 'UTF-8');
 
    $res = password_verify($code, $key);
 
    if ($res) {
        $this->session->delete('captcha');
    }
 
    return $res;
}

从以上check办法可以看出来验证码验证是需要session的,而Thinkphp6默许是不开启的,需要按照手册初始化一下

在利用app名目下寻到全局中心件middleware.php文件,把下面注释的代码\think\middleware\SessionInit::class开启就行了

// 全局中心件定义文件
return [
    // 全局恳求缓存
    // \think\middleware\CheckRequestCache::class,
    // 多说话加载
    // \think\middleware\LoadLangPack::class,
    // Session初始化
     \think\middleware\SessionInit::class
]

以上就是TP6验证码验证失败的缘由乃至解决方法的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有152人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板