Thinkphp6验证码的安装和使用

浏览924

1、安装验证码

首先使用Composer安装think-captcha扩展包:

composer require topthink/think-captcha

1.jpg

2、使用验证码

扩展包内定义了一些常见用法方便使用,可以满足大部分常用场景,以下示例说明。

在模版内添加验证码的显示代码

<div>{:captcha_img()}</div>

或者

<div><img src="{:captcha_src()}" alt="captcha" /></div>

或点击图片刷新验证码

<img name="captcha" src="{:captcha_src()}" alt="captcha" onclick="this.src='{:captcha_src()}'+Math.random()">

3、验证验证码

调用内置的函数手动验证

if(!captcha_check($captcha)){
 // 验证失败
};

注意:在这步骤,很多初学者会发现明明验证码正确,却一直显示验证码错误,出现这个原因是因为框架默认是没有开启session的,我只需在app\middleware.php中开启session即可。

2.jpg

Session初始化,开启如下配置

<?php
// 全局中间件定义文件
return [
    // 全局请求缓存
    // \think\middleware\CheckRequestCache::class,
    // 多语言加载
    // \think\middleware\LoadLangPack::class,
    // Session初始化
     \think\middleware\SessionInit::class
];
?>

4、验证码配参数   描述  

codeSet      验证码字符集合     略

expire         验证码过期时间(s)      默认1800

math 使用算术验证码     默认false

useZh         使用中文验证码     默认false

zhSet          中文验证码字符串  略

useImgBg   使用背景图片        默认false

fontSize     验证码字体大小(px)        25

useCurve    是否画混淆曲线     默认true

useNoise    是否添加杂点        默认true

imageH      验证码图片高度,设置为0为自动计算         默认0

imageW     验证码图片宽度,设置为0为自动计算         默认0

length        验证码位数  默认5

fontttf        验证码字体,不设置是随机获取         默认 空

bg     背景颜色     默认 [243, 251, 254]

reset 验证成功后是否重置       默认true置

直接在应用的config目录下面的captcha.php文件中进行设置即可,例如下面的配置参数用于输出4位数字验证码。

return [
    'length'    =>  4,
    'codeSet'   =>  '0123456789',
];

4.jpg


  • 暂无任何回答