Thinkphp8安装topthink/think-captcha验证码的和使用方法

2024-10-09 112 0

ThinkPHP8默认没有验证码,安装验证码可以使用composer来安装验证码

一、安装验证码

执行composer安装验证码

composer require topthink/think-captcha

二、使用方法

1、在目录app\middleware.php中开启session

\think\middleware\SessionInit::class

2、配置验证码

安装好验证码会在应用的config目录下面生成captcha.php文件,我们可以在里面进行配置我们的验证码

<?php
// +----------------------------------------------------------------------
// | Captcha配置文件
// +----------------------------------------------------------------------

return [
    //验证码位数
    'length'   => 4,
    // 验证码字符集合
    'codeSet'  => '0123456789',
    // 验证码过期时间
    'expire'   => 1800,
    // 是否使用中文验证码
    'useZh'    => false,
    // 是否使用算术验证码
    'math'     => false,
    // 是否使用背景图
    'useImgBg' => false,
    //验证码字符大小
    'fontSize' => 25,
    // 是否使用混淆曲线
    'useCurve' => true,
    //是否添加杂点
    'useNoise' => true,
    // 验证码字体 不设置则随机
    'fontttf'  => '',
    //背景颜色
    'bg'       => [243, 251, 254],
    // 验证码图片高度
    'imageH'   => 0,
    // 验证码图片宽度
    'imageW'   => 0,

    // 添加额外的验证码设置
    // verify => [
    //     'length'=>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置

3、在模板视图文件中使用验证码

<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()">

4、后端框架中验证验证码

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

20241009221958419

    相关文章

    PHP常用时间日期处理总结
    使用PHP获取文件夹中所有文件
    thinkphp8中,数据库的字段是 api_node_id ,值是:多个用英文逗号区分,这种应如何来查询准确的数据取出唯一的主键ID?
    tp(thinkphp6)记录后台操作日志
    ThinkPHP6实现上传图片带水印方法
    ThinkPHP6实现简单的记录网站后台管理操作日志方法

    发布评论