ThinkPHP版本6.1,验证码功能是外置的,安装后通过简单的配置后即可使用,十分方便。
目录
1. 使用composer 安装
composer require topthink/think-captcha

2.开启session
全局中间件App/middleware.php
开启session
// 全局中间件定义文件
return [
// 全局请求缓存
// \think\middleware\CheckRequestCache::class,
// 多语言加载
// \think\middleware\LoadLangPack::class,
// Session初始化
\think\middleware\SessionInit::class
];
3.验证码显示
<div>{:captcha_img()}</div>
或者
<div>
<img src="{:captcha_src()}" alt="captcha"
onclick='this.src="/captcha.html?"+Math.random();' />
</div>
4. 表单设置
创建一个模版页面,设置一个验证码和文本框提交比对;
<form action="{:url('admin/check')}" method="post">
<div>{:captcha_img()}<input type="text" name="captcha"></div>
<input type="hidden" name="__token__" value="{:token()}">
<input type="submit" value="确定">
</form>

5. 使用验证器检测
// 验证码验证规则
$validate = Validate::rule([
'captcha' => 'require|captcha'
]);
// 验证码和表单对比
$result = $validate->check([
'captcha' => input('post.captcha')
]);
if (!$result) {
dump($validate->getError());die;
}
dump('验证通过');die;
6. 使用助手函数验证
if(!captcha_check(input('post.captcha'))){
dump('验证失败');die;
}
dump('验证通过');die;
7.验证码配置文件修改
验证码的配置文件位于config/captcha.php中,可按需修改。
修改字符为4个
/验证码位数
'length' => 4,

改为中文验证码
// 是否使用中文验证码
'useZh' => true,

8.自定义验证器
创建一个 verify 方法
namespace app\admin\controller;
use think\captcha\facade\Captcha;
class AdminCaptcha
{
public function verify()
{
return Captcha::create();
}
}
添加路由验证
Route::get('captcha', 'AdminCaptcha/verify)->name('captcha');
访问路由
效果

添加额外的验证码设置
Config/captcha.php中间添加
// 添加额外的验证码设置
'verify' => [
'length' => 4,
'math' => true,
],
方法添加配置
public function verify()
{
return Captcha::create('verify');
}
效果

总结
主要通过composer安装think-captcha三方封装的验证码来实现。
文章详细介绍了在ThinkPHP6.1版本中如何使用composer安装验证码功能,开启session,显示及验证验证码,包括使用验证器和助手函数进行检测,以及自定义配置和验证器的方法。同时,提供了配置文件修改和自定义控制器的示例。
715

被折叠的 条评论
为什么被折叠?



