1
19
关于机长: 除非你真的需要,否则我建议不要使用captchas。为什么?
有一些选择非常简单,非常有效,并且完全透明于 (几乎所有) 用户。
这将保护你免受99.9%的自动垃圾邮件机器人的攻击。它不能做的,哪怕是一点点,都是保护你免受有针对性的攻击。有人可以定制他们的机器人,以避免蜜罐或总是填写正确的价值。 关于蛮力阻挡: 显然,服务器端解决方案是唯一可行的方法。在我当前的一个项目中,我实现了一个与您描述的非常类似的暴力保护系统。是基于这个 Brute Force Protection plugin 对于CaKEPHP。 算法相当简单,但一开始有点混乱。
这将允许用户在y分钟内仅尝试重置密码x次。根据需要调整这些值。也许5分钟内重置3次?此外,您可以为每个操作设置不同的值:对于某些事情(例如:生成pdf),您可能希望在10分钟内将其限制为10。 |
2
5
|
3
1
不要试图实施 全部的 php中的逻辑——栈越低,实现它的效率就越高。 大多数防火墙(包括bsd/linux上的iptable)都有连接限制。另外,请查看mod_security for ddos/brute force攻击预防。 你 应该 设计你的应用程序时,要考虑到这些攻击不会让攻击者访问应用程序-归根结底,你无法阻止DoS攻击,尽管你可以限制其有效性。 依赖攻击者提供的一致IP地址没有多大价值—有很多方法可以解决这个问题。 例如,跟踪每个用户登录之间的密码重置请求数。在密码重置表单中,在 确切地 同样,如果用户提交了未知的电子邮件地址。记录无效的电子邮件地址。 高温高压 C. |
4
0
除了执行gazler告诉您的操作之外,您还应该有一些方法来计算登录尝试的次数。如果所有登录尝试的总数大于x,则要么开始使用sleep命令,要么只是说服务器负载很高。 |
5
-1
存储IP地址对于登录和跟踪是很好的做法,但我认为只要验证码就能阻止垃圾邮件、暴力攻击和洪水泛滥。 Recaptcha确实是一个很好的解决方案。 |
6
-1
当然,你的目标受众可能不多,但如果是在公共领域,那么就很脆弱, 现在短信验证码很容易破解相信我 对于反垃圾邮件/洪水系统,您可以记录IP地址(最好是MySQL),并添加一个时间限制登录重试次数 |