起首应用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验证码验证失败的缘由和处理方法的具体内容,更多请存眷资源魔其它相干文章!
标签: thinkphp php开发教程 php开发资料 php开发自学
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!