网站用户登录时,故意增加延时能防止暴力破解吗?

老李_timothy 2016-09-17 10:05:04
网站用户登录时,故意增加延时能防止暴力破解吗?

就是用户输入用户名和密码,并点击登录后,在我的LoginAction中故意先延时1秒钟,代码如下:

Thread.sleep(1000);

然后再判断用户输入的信息是否可登录.

这样对于单个用户来讲,登录延长了1秒钟,体验不会下降太多,

但是对于暴力破解来讲确实致命的,整体的延时可能增加到上百年.

请问这是一个办法吗?

谢谢!


...全文
1771 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
易凌 2017-11-03
  • 打赏
  • 举报
回复
我们现在的做法是: 1、每次登录及账号密码时,都需要进行图形验证码,每次请求图形验证码都重新生成,一经验证即销毁验证码; 2、增加单IP短时间请求数量限制,N秒内只允许一个IP提交1次相同的请求,防止暴力破解; 3、增加账号白名单机制,如果请求的账号不在白名单中,直接拒绝登录; 4、增加账号试错锁定机制,N秒内,如一个账号连续输错S次密码,则自动锁定该账号24小时不允许登录,24小时后自动解锁或由人工解锁; 5、增加IP地址试错锁定机制,N秒内,如一个IP地址连续登录S次不成功,则自动锁定该IP地址48小时不允许登录,48小时后自动解锁或由人工解锁; 当然后台需要配置相应的功能进行手动解锁
老李_timothy 2016-10-02
  • 打赏
  • 举报
回复
你们觉得腾讯的大禹系统怎么样? 贵不贵? 谢谢!
苏生米沿 2016-09-23
  • 打赏
  • 举报
回复
不能。
bree06 2016-09-22
  • 打赏
  • 举报
回复
引用 8 楼 Timophy 的回复:
[quote=引用 3 楼 shijing266 的回复:] 没必要,大家都在想着怎么提高访问速度的时候,你却来个延时1秒,暴力破解不是延时所能阻拦的,需要硬件软件的多方面支撑,比如说集群、分发,做到你来多少我处理多少,也可以按照楼上说的,你输错密码多少次,我直接锁定,不过这样做业务更复杂了
请问锁定的是账号还是IP地址, 如果是账号, 那真实的账号主人无辜躺枪了. 如果是IP地址,那局域网的对外ip地址不是都一样吗? 如校园网,那岂不是一下把整个局域网都给锁定了? 还是我的理解有错误? 谢谢![/quote]当然是账户了, 因为这种暴力破解可能就是盗号的. 什么 无辜躺枪? 你的账行卡输错几次密码会被吞卡, 支付宝输错几次会被错账号一天, 都是对于账户的, 这样可以最大限度保护账户安全.
幺客 2016-09-22
  • 打赏
  • 举报
回复
一般来说加个验证码可以减少机器注册,但是现在有很多验证码识别的,增加验证码的复杂程度其实影响的是真实用户,短信验证或者邮件验证码的可以尝试,但是因为开销可能会比较大,所以不太建议使用。网站的前期推广就被DDos的情况虽然不是没有,但我所知道的貌似不多。至于锁定IP的问题,也就像楼主说的,真正需要的人可能会躺枪。但是如果是账户登录次数过多,你完全可以锁定账户嘛,然后解除锁定可以是一定的时间,或者是短信或者邮件验证,并且设置每天可以发送的最大次数,如果超过了规定次数,就一定时间内无法登录,【但是有个问题就是被恶意锁定,那就需要增加策略或让用户发送一定的信息做登录验证/注册验证(参考腾讯的注册)】这样一定程度上可以让用户账户注册安全。 呃,大概能想到这么多。
老李_timothy 2016-09-22
  • 打赏
  • 举报
回复
引用 12 楼 bree06 的回复:
[quote=引用 11 楼 Timophy 的回复:] [quote=引用 10 楼 bree06 的回复:] [quote=引用 8 楼 Timophy 的回复:] [quote=引用 3 楼 shijing266 的回复:] 没必要,大家都在想着怎么提高访问速度的时候,你却来个延时1秒,暴力破解不是延时所能阻拦的,需要硬件软件的多方面支撑,比如说集群、分发,做到你来多少我处理多少,也可以按照楼上说的,你输错密码多少次,我直接锁定,不过这样做业务更复杂了
请问锁定的是账号还是IP地址, 如果是账号, 那真实的账号主人无辜躺枪了. 如果是IP地址,那局域网的对外ip地址不是都一样吗? 如校园网,那岂不是一下把整个局域网都给锁定了? 还是我的理解有错误? 谢谢![/quote]当然是账户了, 因为这种暴力破解可能就是盗号的. 什么 无辜躺枪? 你的账行卡输错几次密码会被吞卡, 支付宝输错几次会被错账号一天, 都是对于账户的, 这样可以最大限度保护账户安全. [/quote] 我说的账号被无辜躺枪是指, 攻击者故意把所有账号都尝试多遍,目的就是让真实的用户无法正常使用,也就是恶意锁定. [/quote]你想多了大兄弟, 攻击者从哪儿得到的所有账号? 他能得到所有账号除了后台的信息泄露那他也有了密码,何必再暴力破解?[/quote]嗯,也有道理. 话说DDos 我们普通站长有办法防御吗? 我们带宽根本就拼不过啊? 这种情况该怎么办呢? 谢谢!
bree06 2016-09-22
  • 打赏
  • 举报
回复
引用 11 楼 Timophy 的回复:
[quote=引用 10 楼 bree06 的回复:] [quote=引用 8 楼 Timophy 的回复:] [quote=引用 3 楼 shijing266 的回复:] 没必要,大家都在想着怎么提高访问速度的时候,你却来个延时1秒,暴力破解不是延时所能阻拦的,需要硬件软件的多方面支撑,比如说集群、分发,做到你来多少我处理多少,也可以按照楼上说的,你输错密码多少次,我直接锁定,不过这样做业务更复杂了
请问锁定的是账号还是IP地址, 如果是账号, 那真实的账号主人无辜躺枪了. 如果是IP地址,那局域网的对外ip地址不是都一样吗? 如校园网,那岂不是一下把整个局域网都给锁定了? 还是我的理解有错误? 谢谢![/quote]当然是账户了, 因为这种暴力破解可能就是盗号的. 什么 无辜躺枪? 你的账行卡输错几次密码会被吞卡, 支付宝输错几次会被错账号一天, 都是对于账户的, 这样可以最大限度保护账户安全. [/quote] 我说的账号被无辜躺枪是指, 攻击者故意把所有账号都尝试多遍,目的就是让真实的用户无法正常使用,也就是恶意锁定. [/quote]你想多了大兄弟, 攻击者从哪儿得到的所有账号? 他能得到所有账号除了后台的信息泄露那他也有了密码,何必再暴力破解?
老李_timothy 2016-09-22
  • 打赏
  • 举报
回复
引用 10 楼 bree06 的回复:
[quote=引用 8 楼 Timophy 的回复:] [quote=引用 3 楼 shijing266 的回复:] 没必要,大家都在想着怎么提高访问速度的时候,你却来个延时1秒,暴力破解不是延时所能阻拦的,需要硬件软件的多方面支撑,比如说集群、分发,做到你来多少我处理多少,也可以按照楼上说的,你输错密码多少次,我直接锁定,不过这样做业务更复杂了
请问锁定的是账号还是IP地址, 如果是账号, 那真实的账号主人无辜躺枪了. 如果是IP地址,那局域网的对外ip地址不是都一样吗? 如校园网,那岂不是一下把整个局域网都给锁定了? 还是我的理解有错误? 谢谢![/quote]当然是账户了, 因为这种暴力破解可能就是盗号的. 什么 无辜躺枪? 你的账行卡输错几次密码会被吞卡, 支付宝输错几次会被错账号一天, 都是对于账户的, 这样可以最大限度保护账户安全. [/quote] 我说的账号被无辜躺枪是指, 攻击者故意把所有账号都尝试多遍,目的就是让真实的用户无法正常使用,也就是恶意锁定.
老李_timothy 2016-09-21
  • 打赏
  • 举报
回复
引用 3 楼 shijing266 的回复:
没必要,大家都在想着怎么提高访问速度的时候,你却来个延时1秒,暴力破解不是延时所能阻拦的,需要硬件软件的多方面支撑,比如说集群、分发,做到你来多少我处理多少,也可以按照楼上说的,你输错密码多少次,我直接锁定,不过这样做业务更复杂了
请问锁定的是账号还是IP地址, 如果是账号, 那真实的账号主人无辜躺枪了. 如果是IP地址,那局域网的对外ip地址不是都一样吗? 如校园网,那岂不是一下把整个局域网都给锁定了? 还是我的理解有错误? 谢谢!
老李_timothy 2016-09-21
  • 打赏
  • 举报
回复
引用 2 楼 bree06 的回复:
或者输错N次后锁号1天. 这样更加暴力.
这个锁号一天,锁的是账号还是IP地址? 谢谢!
bree06 2016-09-18
  • 打赏
  • 举报
回复
或者输错N次后锁号1天. 这样更加暴力.
月明星稀灬 2016-09-18
  • 打赏
  • 举报
回复
引用 5 楼 nai598455803 的回复:
[quote=引用 4 楼 xiekuntarena 的回复:] 登录错误次数超出10,就出验证码,让他短信验证,用户每5分钟可发送一次短信,一天短信验证上限20
然后就想办法把短信黑了,1S中1条,几十万条短信,嗖瘦嗖没了,。。[/quote] 只要跟人打交道的东西,就没有绝对安全的。
nai598455803 2016-09-18
  • 打赏
  • 举报
回复
引用 4 楼 xiekuntarena 的回复:
登录错误次数超出10,就出验证码,让他短信验证,用户每5分钟可发送一次短信,一天短信验证上限20
然后就想办法把短信黑了,1S中1条,几十万条短信,嗖瘦嗖没了,。。
月明星稀灬 2016-09-18
  • 打赏
  • 举报
回复
登录错误次数超出10,就出验证码,让他短信验证,用户每5分钟可发送一次短信,一天短信验证上限20
  • 打赏
  • 举报
回复
没必要,大家都在想着怎么提高访问速度的时候,你却来个延时1秒,暴力破解不是延时所能阻拦的,需要硬件软件的多方面支撑,比如说集群、分发,做到你来多少我处理多少,也可以按照楼上说的,你输错密码多少次,我直接锁定,不过这样做业务更复杂了
望舒 2016-09-17
  • 打赏
  • 举报
回复
你这样只会给自己找不痛快,暴力破解者可以开很多个线程,你的延时并不能对他的破解产生多少效果,请记住暴力破解不是单线程的,他可以把任务分解成很多个由很多台机器一起处理.

81,092

社区成员

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

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