问题描述
- java web程序,防止用户暴力破解
-
最近项目需要增加一个防止用户多次登录的程序,类似于163邮箱的登录失败五次,30分钟后才可以登录,这个思路是什么
解决方案
在数据库中增加两个字段 lasttrycount lasttrydate
密码输错 lastdate记录当前时间,lasttrycount + 1
如果lasttrycount = 5并且now - lasttrydate <半小时,不许登录
如果密码输入正确,lasttrycount=0
解决方案二:
个人思路,说的不好请谅解,首先应该是数据库设计,用户表中预留字段用户判断用户登录次数,当然,只有失败才记录。这样登录的时候去查询这个字段用户判断
解决方案三:
在user表里面加字段存储连续登录错误次数和时间,每次登录验证的时候先过这一关,过了再看用户名密码是否正确。
解决方案四:
应该用session来控制吧
解决方案五:
- 数据库记录登录错误的此时 当前时间 解锁时间
- 当满足不让登陆的条件后提示 提示中告诉解锁的时间 比对当前系统时间 如果解锁时间大于系统时间不让登录 如果小于系统时间让登录,如果还是登陆失败
那么重新记录错误次数 和 当前时间 下次解锁时间 知道登录成功后 把这些记录值清0即可实现
时间: 2025-01-20 20:40:42