密码和验证码防止暴力破解 - 详解
摘要:
本文介绍了Android商户端APP的防暴力破解机制设计。框架采用Redis缓存实现错误次数统计,针对登录和忘记密码功能分别设置错误次数上限(5次),并采用自然日24点的有效期策略。登录错误时记录并提示剩余尝试次数,超过限制则锁定账户;验证码错误同样计数,超过限制则禁用忘记密码机制。通过Spring Cache注解实现了商户信息的缓存管理,并设计了密码修改成功后解除锁定的机制。整体方案通过前端Redis拦截和后端次数限制相结合,奏效防范了暴力破解攻击,同时提供了清晰的用户提示信息。
背景:
Android版本测试报告中,需要对密码以及输入验证码防止暴力破解。
目的:
采用前端redis缓存进行存储错误次数。后端服务对用户名或密码错误做错误限制。当超出一定次数,对此用户进行锁定。后端忘记密码页面,需对验证码进行校验,当超出一定次数,得对用户进行锁定。
目标:
商户端APP,当用户进入到登录页面。进行登录请求时:
- 查询用户的登录错误次数,若超出限制进行提示“您已连续输入错误5次用户名密码,您的账户已被锁定,请明天再试”。
- 若没有超出限制:查询用户是否存在。
- 若用户存在,查询密码是否正确。
- 若2,3都满足,对登录错误次数和验证码错误次数进行置空。
- 若2,3有一项不满足就需记录登录的错误次数。
- 这样不法用户不断进行登录请求时,请求其实打到了redis服务。
商户端APP,当用户进入忘记密码页面。进行修改密码请求时:
- 获取验证码的错误次数,若超出限制,则锁定修改密码机制,并进行提示:“您已连续输入错误5次验证码,忘记密码功能今日不可用,请明天再试”。
- 若没有超出限制:判断验证码是否一致。
- 若2满足一致,则对登录错误次数和验证码错误次数置空。
- 若2不满足一致,需要记录验证码的错误次数。
- 至此当不法用户不断重试验证码,进行修改密码时。redis则进行了拦
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/946219.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
2025 年商用直饮机租赁公司最新推荐排行榜:精选优质企业助力健康饮水,聚焦实力品牌广州/上海/南京/北京/济南/杭州直饮机租赁公司推荐
引言
当前商用净饮水市场需求持续攀升,各类企事业单位、公共场所对健康饮水的重视程度日益提高,但市场乱象却让不少需求方陷入选择困境。众多直饮机品牌混杂,部分品牌技术滞后导致净化效果不达标,难以适配不同场景…
2025年香油石磨机直销厂家权威推荐榜单:全自动香油石磨/电动香油石磨/香油石磨设备源头厂家精选
在追求健康饮食与传统风味回归的今天,香油石磨机以其低速低温的研磨特性,正成为保留食材天然营养与醇香的关键设备。
香油石磨机市场近年来保持稳定增长,其中全自动和电动型号的需求提升尤为明显,年增长率预计在10…
Paper: SALT: Step-level Advantage Assignment for Long-horizon Agents via Trajectory Graph
中文标题:SALT:通过轨迹图为长程智能体进行步级优势分配
作者机构:Jiazheng Li, et al. University of Connecticut, Amazon
论文地址:https://arxiv.org/pdf/2510.20022v1
论文贡献:
1)提出SALT,一个用于长程智…
Unreal:自定义配置DeveloperSettings
创建创建一个继承自UDeveloperSettings的类
类属性中Config=Game意思是在Game.ini中配置,加上DefaultConfig,就是DefaultGame.ini
config=后面跟的就是配置文件名
所以这里是在DefaultVehicle.ini中配置
ini配置格式…
Unreal:无缝地图切换
原理
无缝地图切换有别于传统的流送地图,流送地图是在一个地图中放置子关卡,通过控制子关卡的加载和卸载来切换不同的地图
而无缝地图切换,是在切换地图的时候,先切换到一个简单的地图中,在后台加载地图,加载完成…
详细介绍:ACA云原生工程师认证知识点脑图
详细介绍:ACA云原生工程师认证知识点脑图2025-10-25 15:45
tlnshuju
阅读(0)
评论(0) 收藏
举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bloc…
深入解析:微服务架构:从单机到分布式的革命性升级
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
Unreal:PixelStreaming 像素流送
什么是像素流送
UE5.4像素流送
怎么使用
启用插件开启PixelStreaming插件即可
添加启动参数-AudioMixer -PixelStreamingIP=127.0.0.1 -PixelStreamingPort=8888 -PixelStreamingEncoderCodec=VP9通过编辑器设置编辑器…
CRMEB后台密码忘记了怎么办
1. 终端输入命令
php -r "echo password_hash(123456, PASSWORD_BCRYPT), PHP_EOL;"
得到的密码 修改到数据表 eb_system_admin密码pdw字段中
注解处理器(Annotation Processor)的定义与作用
1. 注解处理器(Annotation Processor)的定义与作用
定义
注解处理器是 Java 编译器的一种工具(javax.annotation.processing.Processor接口的实现类),它在编译期扫描和处理源代码中的注解(Annotation),并根据注…
uniapp h5下pwa模式缓存问题
当我们把h5添加到桌面后,有新的版本更新上去,在网页h5打开是更新了最新版本,但在添加到桌面后的伪应该上没有更新到最新代码
这是有关于Service Worker机制的问题,它是浏览器后台的一个脚本,能拦截和处理网络请求…
别慌!恢复已删除数据的 10 个卓越技巧,小白也能会
我们都知道如今的数据恢复服务有多么出色。但有时我们仍然需要一些更便捷的工具来自行恢复数据。
这时,付费最高的数据恢复软件就派上用场了。这些软件无疑是解决所有数据丢失问题最智能、最快捷的解决方案。
现在,由…
删除“幽灵依赖”文件,如何删除残留文件
如何操作:创建临时H盘并删除文件
以下是具体的步骤,我们可以通过创建一个指向空文件夹的虚拟驱动器来实现:创建一个空文件夹作为“磁盘”的载体在任何一个剩余空间充足的盘(比如C盘或D盘)根目录下,新建一个文件夹…
CRMEB的PHP版本跨域问题
1. /config/cookie.php修改为
return [expire => 0,path => /,domain => ,secure => false,httponly => false,setcookie => true,// 正确的 CORS 头(开发环境)header => [A…
2025 医疗级胶水厂家最新推荐榜单:权威测评 + 实力厂家甄选,聚焦合规性与技术创新
引言
医疗级胶水作为医疗器械核心配套材料,其品质直接关联诊疗安全。据中国胶粘剂和胶粘带工业协会 2025 年 Q3 测评数据显示,国内医疗级胶水市场合规产品仅占 72%,35% 的采购纠纷源于粘结强度不达标或认证缺失。为…
NUIST-OOP-Lab02
🧪 实验报告
一、实验名称
现代C++编程初体验
二、实验目的加深对OOP概念(类、对象)和特性(封装)的理解
会用C++正确定义、实现、测试类;会创建对象,并基于对象编程
加深对C++内存资源管理技术的理解,能够解释…
2025 年最新推荐!国内球墨铸铁管厂家排行榜:涵盖离心 / 市政 / 防腐 / 给水 / 水利工程用,助力工程高效选材
引言
在基础设施建设领域,球墨铸铁管是供水、排水、燃气输送工程的核心建材。为精准推荐优质品牌,中国建筑金属结构协会管道分会联合行业权威机构开展 2025 年度测评,测评覆盖国内 68 家主流球墨铸铁管企业,从产品…
Paper: Learning Affordances at Inference-Time for Vision-Language-Action Models
**中文标题:** 视觉-语言-动作模型的推理时间可供性学习
**作者机构:** Ameesh Shah, William Chen, Adwait Godbole, Federico Mora, Sanjit A. Seshia, Sergey Levine, (加州大学伯克利分校)
**论文地址:** https…
DHCP 泛洪攻击小实验
DHCP 泛洪攻击攻击原理:通过虚拟随机生成的mac 地址占用DHCP 服务器中的地址池,达到正常机器无法获取到IP 地址从而无法上网DHCP 协议原理DHCP 是为了解决静态IP 地址,每次都需要进行手动输入IP的不方便
DHCP 客户端…