在Django中限制暴力登录攻击

Joe*_*nin 25 python security django brute-force

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

Mar*_*vin 26

django-axes是一个用于检测失败的登录尝试的现有应用程序.还有一个更普遍的django-ratelimit.


Jus*_*ill 7

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

如果您使用 DRF,则不需要额外的库(轴、速率限制等),因为 DRF 已经内置了限制功能。

你可以检查这个问题:**如何在 Django Rest + 使用 Django Rest Throttling 中防止暴力攻击**


Sim*_*ser 5

您可以:

  • 跟踪失败的登录尝试并在3次尝试后阻止攻击者.
  • 如果您不想阻止,那么您可以登录并提供CAPTCHA,以便在将来的尝试中更加困难.
  • 您还可以在尝试缓存失败后增加登录尝试之间的时间.例如,10秒,30秒,1分钟,5分钟等.这将很快破坏攻击者的乐趣.
  • 当然,选择一个安全的密码,这将使攻击者猜测.