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

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

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


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



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



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



创建RepetitionMiddleware文件

image.png



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


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


image.png


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


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

image.png

相关文章
|
1月前
|
存储 Android开发 iOS开发
审核多次失败总结以及设计上避免被拒绝
审核多次失败总结以及设计上避免被拒绝
24 0
|
1月前
|
SQL 测试技术 数据安全/隐私保护
密码组件校验规则该如何测试?
密码组件校验规则该如何测试?
|
1月前
|
算法 C++
【算法】网络最大流问题,三次尝试以失败告终
开始 已多次看到“网络最大流问题”的字眼,一直不知道是什么,后来终于有一次打算仔细了解一下,期间我发现了一篇不错的博客:全面理解网络流中的最大流问题。在这篇博客的帮助下,我成功弄清楚了什么是网络流中的最大流问题,同时也明白了解决这个问题的基本思路。
52 0
|
8月前
|
网络协议 算法 前端开发
记一次测试中对请求验证的处理
记一次测试中对请求验证的处理
|
PHP
tp自动验证流程和返回空数组的问题
tp自动验证流程和返回空数组的问题
97 0
【TP5.1】验证码校验 ---验证器使用
【TP5.1】验证码校验 ---验证器使用
223 0
【TP5.1】验证码校验 ---验证器使用
|
存储 消息中间件 缓存
消息列队有没有可能失败?在哪些环节可能失败,如何处理?
相信大家都使用过消息MQ,他可以很好地进行系统解耦,减低变成的复杂度,又可以进行削峰,增加系统在高并发的稳定性。那么使用MQ有哪些注意事项呢?是不是MQ就是万无一失呢?一条MQ消息从产生到消费,有没有可能失败?在哪些环节可能失败,如何处理? 一般来说,从生产者到MQ中间件是通过网络调用的,是网络调用就有可能存在失败。下面这些原因,都有可能造成MQ生产失败,例如网络波动,尽管生产者到MQ服务器之间是内网调用,并不意味着网络调用的成功率就是百分之百,内网调用也会遇到网络波动,造成调用超时或者失败。又如调用的MQ机器瞬间Crash掉,这也是有可能造成调用失败的。
消息列队有没有可能失败?在哪些环节可能失败,如何处理?
|
JSON Java API
【优雅代码】10-拒绝if/else数据校验及转换
避免if、else,只用注解完成校验及格式化
【优雅代码】10-拒绝if/else数据校验及转换