Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 阻止Django中的暴力登录攻击_Python_Django_Security_Brute Force - Fatal编程技术网

Python 阻止Django中的暴力登录攻击

Python 阻止Django中的暴力登录攻击,python,django,security,brute-force,Python,Django,Security,Brute Force,是否有普遍接受的策略来保护Django应用程序免受此类攻击?您可以: 跟踪失败的登录尝试,并在尝试3次后阻止攻击者 如果您不想阻止,那么您可以记录它并提供验证码,以便在以后的尝试中更加困难 您还可以在每次尝试失败后增加登录尝试之间的间隔时间。例如,10秒、30秒、1分钟、5分钟等等。这会很快破坏攻击者的乐趣 当然,选择一个安全的密码,因为这样会让攻击者猜不透 有许多库可供使用,如Django axes,Django defender,Django Rate Limit,提到的这些库都做相同的事

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

您可以:

  • 跟踪失败的登录尝试,并在尝试3次后阻止攻击者
  • 如果您不想阻止,那么您可以记录它并提供验证码,以便在以后的尝试中更加困难
  • 您还可以在每次尝试失败后增加登录尝试之间的间隔时间。例如,10秒、30秒、1分钟、5分钟等等。这会很快破坏攻击者的乐趣
  • 当然,选择一个安全的密码,因为这样会让攻击者猜不透

    • 有许多库可供使用,如Django axesDjango defenderDjango Rate Limit,提到的这些库都做相同的事情(它们之间有一些区别)。你可以选择最适合你需要的

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


      您可以检查这个问题:

      因为这个问题是7年前提出的,也许一些更新的信息可能会有所帮助

      实现可能比盲目地限制所有流量要好。它可以判断是否有人只是敲打密码,并将相应地阻止他们。如果有人看起来像人类,但只是把密码弄错了,它不会很快阻止他们。谷歌对www的了解比我们任何人都多,所以我们不妨利用它