java web 登录次数限制

greatmind829 2010-06-01 02:32:26
一个用户登录系统,如果他一分钟之内连续登录3次,就让他在15 分钟之内无法再登录,这种方法的思路是什么,
...全文
1019 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
hui619 2013-01-29
  • 打赏
  • 举报
回复
靠,我现在也要做这个啦,谁有更好的解决方案没
zhu6100441 2011-10-18
  • 打赏
  • 举报
回复
session是客户端与服务器的会话,如果用户关掉了浏览器,那么session就死掉了,也就是说登录3次错误以后,用户关掉浏览器,又可以再次登录。cookies是一样的,浏览器清除cookies这个操作,相信都会吧?
我建议使用系统静态列表,将登录错误的用户登录名,错误次数,登录时间等相关信息加入到此静态列表中。每次有人来登,就去查。
不知道行不行,楼主可以试试。
Boshouhai091301 2011-03-20
  • 打赏
  • 举报
回复
使用Cookie 可不可以啊??
greatmind829 2010-06-01
  • 打赏
  • 举报
回复
没有想到更好的方法了,就用lihui_shine 提供的方法试一试。谢谢了。
扁鵲東南飛 2010-06-01
  • 打赏
  • 举报
回复
如果你不想用数据库的形式的话,用session 存下试试。

先声明下,我没用过:
在用户登录时候,如果成功不记录session,如果登录不成功,记录下session +1;
到第三次,就不让登录了。session 的有效期设置为15分钟。.setMaxInactiveInterval(15分钟);当然,感觉这样有个弊端,session的丢失是根据客户端的浏览器关闭来的。
jianglitao 2010-06-01
  • 打赏
  • 举报
回复
记录登录日志,重要的两个字段“上次登录时间”和“失败次数”,登录的时候对时间和失败次数进行判断
lxs512297816 2010-06-01
  • 打赏
  • 举报
回复
把登录日志存入数据库,登录的时候进行一些查询判断 这样应该不难的 吧!!!!!!
Java技术栈 2010-06-01
  • 打赏
  • 举报
回复
楼上的方法可行,没有更好的可想到了
qiuqiu505 2010-06-01
  • 打赏
  • 举报
回复
把登录日志存入数据库,登录的时候进行一些查询判断,对系统性能来说应该没什么影响
浪尖赏花 2010-06-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chenhuoren 的回复:]
呵呵,好方法啊.但这样会不会数据库服务器很累啊
[/Quote]
就只是存下库,登录的时候判断下,查询下,应该还好吧
浪尖赏花 2010-06-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 greatmind829 的回复:]
引用 1 楼 lihui_shine 的回复:
将用户的每次登录都记入登录日志表
每次登录的时候,去查最近15分钟内,是否存在连续3次登录发生在一分钟之内的


如果那小子,登录三次都是正确的呢!
如何考虑。。
[/Quote]
LZ是将1分钟内有3次登录失败的情况,那你没讲撒^_^
那更应该存库了,建个登录错误日志表,只有登录失败时才入库,其他操作方法如1L

kaynezhang 2010-06-01
  • 打赏
  • 举报
回复
当然是服务端了。
greatmind829 2010-06-01
  • 打赏
  • 举报
回复
缓存 是存放在服务端吧!!
kaynezhang 2010-06-01
  • 打赏
  • 举报
回复
你是想出错三次就不让登陆吧?如果登陆三次中有正确的,就从缓存中数据清除就可以了。下次出错再从头记录
kaynezhang 2010-06-01
  • 打赏
  • 举报
回复
如果以后不需要日志查询和审计,可以使用缓存而不是数据库,把每次登陆的信息(登陆名、时间) 这些放入缓存。然后每次登陆时查询缓存就可以了。
greatmind829 2010-06-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lihui_shine 的回复:]
将用户的每次登录都记入登录日志表
每次登录的时候,去查最近15分钟内,是否存在连续3次登录发生在一分钟之内的
[/Quote]

如果那小子,登录三次都是正确的呢!
如何考虑。。
izard999 2010-06-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lihui_shine 的回复:]
将用户的每次登录都记入登录日志表
每次登录的时候,去查最近15分钟内,是否存在连续3次登录发生在一分钟之内的
[/Quote]
这是个方法. 不过总查数据库应该是有些不妥的.!
不过暂时还想不到更好的办法.! 再去想想
chenhuoren 2010-06-01
  • 打赏
  • 举报
回复
呵呵,好方法啊.但这样会不会数据库服务器很累啊
浪尖赏花 2010-06-01
  • 打赏
  • 举报
回复
将用户的每次登录都记入登录日志表
每次登录的时候,去查最近15分钟内,是否存在连续3次登录发生在一分钟之内的

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧