当前位置:  开发笔记 > 后端 > 正文

防止对Web应用程序的字典攻击

如何解决《防止对Web应用程序的字典攻击》经验,为你挑选了1个好方法。

什么是防止字典攻击的最佳方法?我已经想到了几个实现,但它们似乎都有一些缺陷:

    X登录尝试失败后锁定用户.问题:容易变成拒绝服务攻击,在很短的时间内锁定了许多用户.

    增加用户名上每次登录尝试失败的响应时间.问题:字典攻击可能使用相同的密码但使用不同的用户名.

    从IP地址逐次增加每次登录尝试失败的响应时间.问题:通过欺骗IP地址轻松绕过.

    在会话中每次失败登录尝试的增量响应时间递增.问题:通过创建字典攻击很容易解决,该攻击会在每次尝试时触发新会话.

rook.. 21

我非常喜欢gmail的反暴力系统.它基于用户可以累积的"热量",在用户过热后,它们被提示用验证码.您可以使用sql数据库或使用redis incr跟踪热量.将热量分配给IP地址. 由于三次握手,在互联网上"欺骗"tcp连接是100%不可能的,但是代理服务器很多并且ip地址非常便宜.代理服务器通常用于发送垃圾邮件,您可以检查黑名单并自动提示他们使用验证码.

针对您的系统的每个不良操作都将更新热表.例如,登录失败将累积35%的热量.一旦热水平大于或等于100%,则用户被迫解决验证码.解决验证码将"冷却"该IP地址.热表可以包含时间戳列,该列设置为更新时的当前时间.大约24小时后,热量可以恢复到0.

reCaptcha是您可以使用的最安全的验证码.



1> rook..:

我非常喜欢gmail的反暴力系统.它基于用户可以累积的"热量",在用户过热后,它们被提示用验证码.您可以使用sql数据库或使用redis incr跟踪热量.将热量分配给IP地址. 由于三次握手,在互联网上"欺骗"tcp连接是100%不可能的,但是代理服务器很多并且ip地址非常便宜.代理服务器通常用于发送垃圾邮件,您可以检查黑名单并自动提示他们使用验证码.

针对您的系统的每个不良操作都将更新热表.例如,登录失败将累积35%的热量.一旦热水平大于或等于100%,则用户被迫解决验证码.解决验证码将"冷却"该IP地址.热表可以包含时间戳列,该列设置为更新时的当前时间.大约24小时后,热量可以恢复到0.

reCaptcha是您可以使用的最安全的验证码.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有