必看!TP6验证码验证失败的原因及解决方法_php教程,tp6
作者:搜教程发布时间:2020-01-22分类:PHP教程浏览:16评论:0
导读:PHP限制访问ip白名单的方法详解_php教程一般来说,开发者对于内部的服务器架构比较了解,简单粗暴的用REMOTE_ADDR即可,因为REMOTE_ADDR不可伪造,更加安全,另...
PHP限制访问ip白名单的方法详解_php教程
一般来说,开发者对于内部的服务器架构比较了解,简单粗暴的用REMOTE_ADDR即可,因为REMOTE_ADDR不可伪造,更加安全,另外两个字段就没那么靠谱。
首先使用Composer安装think-captcha扩展包:
composer require topthink/think-captcha
控制器引入
use think\captcha\facade\Captcha;
生成验证码
分分钟搞定PHP的self关键字_php教程
php中静态成员函数内不能用this调用非成员函数,但可以用self调用静态成员函数/变量/常量;其他成员函数可以用self调用静态成员函数以及非静态成员函数。
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验证码验证失败的原因及解决方法的详细内容,更多请关注ki4网其它相关文章!
分享学好PHP的几个重要心得_php教程
初学PHP或者转行想做PHP程序员的小伙伴,再开始学习时或多或少都会有迷茫和徘徊期,本篇文章分享给大家一些学习心得和体会,希望对你有用!
标签:tp6
相关推荐
- 推荐给新手的四款PHP集成开发环境软件_php教程,php
- php session 会话(专题)_php教程,php session
- 案例分析PHP Web表单生成器_php教程,PHP,Web表单生成器
- 详解之php反序列化_php教程,PHP,反序列化
- 2020最常用的8个代码编辑器推荐_php教程,代码编辑器
- php中的绘图技术详解_php教程,php,绘图
- 用 Composer 开源组件构建自己的 PHP 框架_php教程,php,框架,mvc
- 学习PHP实现SMTP邮件的发送_php教程,PHP,SMTP
- 了解php判断电子邮件是否正确方法_php教程,php,电子邮件
- PHP演示如何发送邮件给某个邮箱_php教程,PHP,发送邮件
你 发表评论:
欢迎- PHP教程排行
- 最新文章
- 广而告之