Thinkphp 6.0验证码功能

本节课我们来学习一下验证码功能,这功能是外置的,并非系统内置。
一.验证码功能
1. 验证码功能不是系统内置的功能了,需要通过 composer 引入进来;
composer require topthink/think-captcha
//开启 session 方可使用

2. 引入进来之后,我们在模版中,验证一下验证码是否能正常显示;
<div>{:captcha_img()}</div>
//可以点击刷新
<div><img src="{:captcha_src()}" alt="captcha" /></div>

3. 创建一个模版页面,设置一个验证码和文本框提交比对;
<form action="../code/check" method="post">
<input type="text" name="code">
<input type="submit" value="验证">
</form>

4. 使用 validate 验证器来对验证码进行检测;
//验证码验证规则
$validate = Validate::rule([
'captcha'
=> 'require|captcha'
]);
//验证码和表单对比
$result = $validate->check([
'captcha'
=> input('post.code')
]);
if (!$result) {
dump($validate->getError());
}

5. 也可以使用助手函数直接进行判断验证;
if(!captcha_check(input('post.code'))){
dump('验证失败');
}

6. 验证码的所有配置参数如下,根据需要进行调用:
7. 配置文件在 config/captcha.php 中,直接进行参数配置即可;
return [
//字体大小
'fontSize'
=> 30,
//验证码位数
'length'
=> 3,
//验证码杂点
'useNoise'
=> false,
];

8. 我们可以自定义一个验证器,创建一个 verify 方法生成;
public function verify()
{
return Captcha::create('verify');
}
// 添加额外的验证码设置
'verify' => [
'length'=>3,
],
// 路由访问验证码
Route::rule('vc', 'Code/verify');

猜你喜欢

转载自blog.csdn.net/qq_34820433/article/details/130039721