【TP5.1】验证码第一次校验失败 规避重复请求

简介: 【TP5.1】验证码第一次校验失败 规避重复请求

在上一篇文章引入验证码哪一篇文章


我们会发现在有的浏览器那个验证码在初始化的时候会直接运行2次或者三次,所以第一次怎么填都是验证码错误



出现这个原因呢!那是因为浏览器在第一次加载的时候会执行一次img标签,这个时候会执行一次。第二次是获取img标签的src时会发起一次请求。这就造成验证码第一次输入会报错的原因



下来我们就对这个问题进行处理,规避短时间重复请求也对恶意请求起到了很好的规避



创建RepetitionMiddleware文件

image.png



这里是不需要配置中间件的,具体原因


是因为在中间件文件配置了后,就是全局性质得了,你就会发现,login会发起一次请求,验证码的方法会发起一次请求,同时更要命的是验证码会在login请求完之后同一秒发生,也就是说会返回不做请求,那样验证码就看不到了


image.png


所以我们可以看看文档发现有这个玩意


这个only是在这个控制器里边,只要verify这个方法会执行中间件,也就是说规避有的浏览器会在打开网站的瞬间同一秒发起俩次请求

image.png

相关文章
|
存储 Java
Springboot 验证码生成和校验,图片格式和base64编码串
Springboot 验证码生成和校验,图片格式和base64编码串
868 0
Springboot 验证码生成和校验,图片格式和base64编码串
|
3月前
|
C#
C# 图形验证码实现登录校验代码
C# 图形验证码实现登录校验代码
120 2
|
4月前
|
前端开发 PHP
ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则
本文介绍了在ThinkPHP框架中使用验证码扩展库的方法,包括安装验证码扩展库、在页面中使用验证码、自定义验证码配置以及校验验证码的步骤和代码示例。
ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则
|
5月前
|
NoSQL Java Redis
认证服务---整合短信验证码,验证码倒计时,验证码防刷校验 【一】
这篇文章介绍了如何在分布式微服务项目中整合短信验证码服务,包括使用阿里云短信验证接口、将短信验证功能集成到第三方服务中、其他服务的远程调用,以及通过Redis实现验证码防刷机制的代码实现和遇到的问题解决方案。
|
7月前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
127 5
|
8月前
|
前端开发 JavaScript
vue3实现验证码校验的功能
最近想实现使用vue3实现一个简易的前端验证码校验的功能,就花了点时间实现了,这只是一个简易版的,但是用在项目中是没有啥问题的,废话不多说,先来看下最终实现的效果。写着玩的 哈哈
397 0
|
8月前
|
存储 前端开发 Java
①实现基于session的登录流程:发送验证码、登录注册、校验登陆状态
①实现基于session的登录流程:发送验证码、登录注册、校验登陆状态
258 0
|
存储 资源调度 前端开发
[Nestjs] 实现生成图形验证码以及校验过程
要在 NestJS 中实现图形验证码的校验过程,你可以按照以下步骤进行操作: 1. 安装依赖:首先,使用 npm 或 yarn 安装 svg-captcha 和 cookie-parser,其中 svg-captcha 是用于生成 SVG 格式的验证码图片的库,cookie-parser 是用于处理和解析 Cookie 的库。
595 0
|
移动开发 前端开发 JavaScript
Vue 利用Canvas标签实现动态验证码校验(前端必备附源码)
Vue 利用Canvas标签实现动态验证码校验(前端必备附源码)
531 0
|
机器学习/深度学习 缓存 NoSQL
前后端分离java开发图形验证码+谷歌开源Kaptcha使用(Springboot+redis实现图形验证码校验)
前后端分离java开发图形验证码+谷歌开源Kaptcha使用(Springboot+redis实现图形验证码校验)
791 0