thinkphp5.1版本-验证码生成和校验

2019-12-27 17:26:43 浏览数 (1)

thinkphp5.1版本开始将验证码归类为扩展库,而不是3.2版本的杂项,如下图。同时也不在项目安装中提供验证码扩展类,需要在使用时通过composer方式进行安装。下面说一下安装方式。

一、前提

(1)确保服务器上项目目录已经安装thinkphp5.1框架文件

(2)电脑上已经安装composer,composer安装:composer系列之介绍及安装

二、在项目目录,含有composer.json层级下右键->在此处打开命令窗口;

三、在windows命令行窗口模式下输入以下命令,并回车,等待安装更新完成;

代码语言:javascript复制
composer require topthink/think-captcha

此处注意,如果没有设置composer镜像,请先设置国内镜像,输入以下命令,并回车;

代码语言:javascript复制
composer config -g repo.packagist composer https://packagist.laravel-china.org

四、查看文件

进入vendor/topthink目录下是否含有think-captcha文件夹;

五、验证码生成

在控制内引入扩展库

代码语言:javascript复制
use thinkcaptchaCaptcha;
代码语言:javascript复制
/**
 * 验证码
 * @return mixed
 */
public function docode()
{
    $config  = [
        'fontSize' => 30,
        'length' => 3,
        'useCurve' => false,
        'useNoise' => false,
        'codeSet' => '023456789'
    ];
    $captcha = new Captcha($config);
    return $captcha->entry();
}

六、验证码渲染

代码语言:javascript复制
<img src="{:url('Login/code')}" alt="验证码" />

七、验证码校验

代码语言:javascript复制
$code = input('post.code');
if(!captcha_check($code)) {
    $this->error('验证码错误,101');
}

0 人点赞