thinkPHP6验证码接口
接口文档要求
定义方法
public function index(){
// 验证码标识$id=mt_rand(100000, 999999);$uniqid = uniqid("$id");//返回数据 验证码图片路径、验证码标识$data = ['src' =>"http://www.pyg.com" . captcha_src($uniqid),'uniqid' => $uniqid];return json($data);}
多模块应用需要在路由里添加
Route::get('captcha/:id','\\think\\captcha\\CaptchaController@index')
跨域请求需要在路由结尾加一个
->allowCrossDomain
考虑到前后端分离 验证码以cache缓存
需要在 pyg/vendor/topthink/think-captcha/src/Captcha.php中设置(找到创建验证码(generate)的方法 可以直接复制过去替换掉)
/*** 创建验证码* @return array* @throws Exception*/protected function generate(): array{$bag = '';if ($this->math) {$this->useZh = false;$this->length = 5;$x = random_int(10, 30);$y = random_int(1, 9);$bag = "{$x} + {$y} = ";$key = $x + $y;$key .= '';} else {if ($this->useZh) {$characters = preg_split('/(?<!^)(?!$)/u', $this->zhSet);} else {$characters = str_split($this->codeSet);}for ($i = 0; $i < $this->length; $i++) {$bag .= $characters[rand(0, count($characters) - 1)];}$key = mb_strtolower($bag, 'UTF-8');}$hash = password_hash($key, PASSWORD_BCRYPT, ['cost' => 10]);cache('captcha', ['key' => $hash,]);return ['value' => $bag,'key' => $hash,];}
然后找到 验证码是否正确(check)方法将里面session 改成cache (可以直接复制粘贴过去替换掉)
/*** 验证验证码是否正确* @access public* @param string $code 用户验证码* @return bool 用户验证码是否正确*/public function check(string $code): bool{if (!cache('captcha')) {return false;}$key = cache('captcha')['key'];$code = mb_strtolower($code, 'UTF-8');$res = password_verify($code, $key);if ($res) {cache('captcha');}return $res;}
thinkPHP6验证码接口相关推荐
- SpringSecurity-短信验证码接口开发
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:一个线程池 bug 引发的 GC 思考!个人原创+1博客:点击前往,查看更多 链接:https://segmen ...
- php短信接口加密_PHP短信接口、PHP短信验证码接口源码
PHP短信接口.PHP短信验证码接口源码 时间:2016-06-13 11:53 来源:原创 作者:admin PHP短信接口文档源码,PHP发短信接口,PHP在线发短信,PHP微信发短信接口 /* ...
- 短信验证码接口的应用场景和优势
短信验证码接口是常用于网络平台的一种短信功能接口,它在用户注册登录.密码找回.账户变更.确认支付.活动认证等场景都会应用到,短信接口作为网络平台与用户之间重要交互手段,凭借其速度快.到达率高.安全性好 ...
- 【django】图形验证码接口设计、后端逻辑、前端逻辑【15】
一.原理图 将后端⽣成的图⽚验证码存储在redis数据库2号库 结构:{'img_uuid':'0594'} 二.创建验证码⼦应⽤ python ../../manage.py startapp ve ...
- 调用图形验证码接口时,为什么要在接口后方添加随机数
问题:今天在写登录模块调用图形验证码时,发现图形验证码接口返回的是一张图(即文件流),纠结怎么使用. 解决:将返回结果直接与标签的src属性绑定就行. 在此基础上发现,调用接口的后面要跟一个随机数.这 ...
- 图形验证码接口及其重构思想
文章目录 开发生成图形验证码接口 图片实体 ImageCode 图片接口 ValidateCodeController 在认证流程中加入图形验证码校验 登录页面 安全认证配置不拦截图片路径 测试 图片 ...
- 前端调用后台验证码接口
前端调用后台验证码接口 首先我们后台验证码用hutool包的工具类 引入依赖 <dependency><groupId>cn.hutool</groupId>< ...
- 如何防止恶意攻击短信验证码接口
如何防止恶意攻击短信验证码接口 1 自研技术 2 自研验证码被破解怎么办? 3 所有图形验证码都被破解怎么办? 1 自研技术 1.手机号码限制:限制单个手机号码每天的最大发送次数.超过次数不能发送短信 ...
- java防止注册刷短信攻击_java面试(1)如何防止恶意攻击短信验证码接口
防止恶意攻击短信验证码接口方法 1.手机号码限制:限制单个手机号码每天的最大发送次数.超过次数不能发送短信,可以考虑将手机号码加入黑名单,禁止1天. 2.短信发送时间间隔限制:限制同一个手机号码重复发 ...
最新文章
- 【LeetCode】【HOT】20. 有效的括号(栈)
- .rpt文件内容读取java_Java 中读取文件内容的 n 中方式
- 语言编程思维陈萌_这本书告诉你,计算机为何能读懂人类语言,编程思维让你更聪明...
- idea maven 删除dependencies_使用IDEA创建Maven工程 创建javase工程
- Chrome下的语音控制框架MyVoix.js使用篇(二)
- 趣谈网络协议栈,以太网基础MAC和PHY
- 计算机网络自顶向下方法 笔记 第一章:计算机网络和因特网
- linux 修改网卡 mac地址命令,Centos系统下查看和修改网卡Mac地址(附ifconfig命令格式)...
- 转:如何在艰难时期留住好员工
- 紫光同创 FPGA 开发跳坑指南(五)—— DDR3 控制器 IP 的仿真
- 微信群控系统源码的实现原理,核心源码实现,核心框架。
- 连接网络-第三章测试
- matlab里trim函数,matlab 中trim函数总出现Index exceeds matrix dimensions,求大神帮忙解决...
- Android手机通知栏工具,安卓通知栏美化工具(Flat Style Colored Bars)
- 游戏开发笔记(一):一元夺宝
- launcher功能入口(二)
- 解决VisualVm的Profiler一直转圈:正在连接到目标 VM...
- Python安装包,官网下载太慢解决方法:淘宝国内镜像
- OriginPro,如何把软件Origin切换变成中文显示
- postman查看response_Postman教程——响应