30

是否有普遍接受的策略来保护 Django 应用程序免受此类攻击?

4

3 回答 3

5

你可以:

  • 跟踪失败的登录尝试并在 3 次尝试后阻止攻击者。
  • 如果您不想阻止,则可以将其记录下来并提供验证码,以使其在以后的尝试中更加困难。
  • 您还可以在每次尝试失败后增加登录尝试之间的时间。例如,10 秒、30 秒、1 分钟、5 分钟等。这将很快破坏攻击者的乐趣。
  • 当然,选择一个安全的密码,因为这会让攻击者猜测。
于 2012-07-13T19:54:54.887 回答
5

有许多可用的库,例如Django-axesDjango-defenderDjango-ratelimit,这些库都做同样的事情(它们之间有一些区别)。您可以选择最适合您需求的一种。

如果您使用的是 DRF,那么您不需要额外的库(axes、ratelimit 等),因为 DRF 已经内置了节流功能。

你可以检查这个问题:**How to prevent brute force attack in Django Rest + Using Django Rest Throttling **

于 2018-04-18T11:26:52.757 回答
2

正如大约 7 年前提出的这个问题,也许一些更新的信息可能会有所帮助。

实施Google reCAPTCHA v3可能比盲目地限制所有流量要好。它可以判断是否有人只是在敲击密码并相应地阻止它们。如果某人看起来像人,但只是密码错误,它不会很快阻止他们。谷歌比我们任何人都更了解 www,所以我们不妨利用它。

于 2020-10-03T14:03:55.087 回答