thinkphp5.1版本-验证码生成和校验
thinkphp5.1版本开始将验证码归类为扩展库,而不是3.2版本的杂项,如下图。同时也不在项目安装中提供验证码扩展类,需要在使用时通过composer方式进行安装。下面说一下安装方式。
一、前提
(1)确保服务器上项目目录已经安装thinkphp5.1框架文件
(2)电脑上已经安装composer,composer安装:composer系列之介绍及安装
二、在项目目录,含有composer.json层级下右键->在此处打开命令窗口;
三、在windows命令行窗口模式下输入以下命令,并回车,等待安装更新完成;
composer require topthink/think-captcha
此处注意,如果没有设置composer镜像,请先设置国内镜像,输入以下命令,并回车;
composer config -g repo.packagist composer https://packagist.laravel-china.org
四、查看文件
进入vendor/topthink目录下是否含有think-captcha文件夹;
五、验证码生成
在控制内引入扩展库
use think\captcha\Captcha;
/** * 验证码 * @return mixed */ public function docode() { $config = [ 'fontSize' => 30, 'length' => 3, 'useCurve' => false, 'useNoise' => false, 'codeSet' => '023456789' ]; $captcha = new Captcha($config); return $captcha->entry(); }
六、验证码渲染
<img src="{:url('Login/code')}" alt="验证码" />
七、验证码校验
$code = input('post.code'); if(!captcha_check($code)) { $this->error('验证码错误,101'); }