topthink/think-captcha 2.* 验证码前后端分离Api登录
在官方的这边只有session的方式,但是在一些特殊的情况下,前端请求后端数据时候没有带cookie信息,导致这种方式会失败。ok 基础类改造成cache 的类就完成了,下面使用方式和官方的方式一样,但是需要传一个id 识别这次请求的用户;如果是phpstorm按ctrl + r。方案:改成cache 的方式储存session。复制 Captcha.php 这个文件到项目中。登录请求的方式要带 验
·

在官方的这边只有session的方式,但是在一些特殊的情况下,前端请求后端数据时候没有带cookie信息,导致这种方式会失败。
方案:改成cache 的方式储存session
复制 Captcha.php 这个文件到项目中
在这个文件中执行如下步骤:
如果是phpstorm 按 ctrl + r

再执行

ok 基础类改造成cache 的类就完成了,下面使用方式和官方的方式一样,但是需要传一个id 识别这次请求的用户;
控制器验证:
$t = input('t');
$obj = new \app\common\System\Captcha();
if (!$obj->check($code,$t)) {
return fail('验证码错误');
}
获取图片的地址:
public function getVerify()
{
$t = input('t');
// $uniqid = uniqid(mt_rand(100000, 999999));
$config = [
// 验证码字体大小
'fontSize' => 25,
// 验证码位数
'length' => 4,
// 关闭验证码杂点
'useNoise' => false,
'useCurve' => false,
'bg' => [255, 255, 255],
'codeSet' => '0123456789'
];
$obj = new \app\common\System\Captcha(
$config
);
return $obj->entry($t);
}
前端获取图片的方式:

登录请求的方式要带 验证码的随机数

完毕!!!
双十一快乐
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)