詹戈·布鲁特菲尔斯·巴斯特

django-brutebuster2的Python项目详细描述


说明

brutebuster是一个简单的、可插入的django应用程序,可以帮助您抵御密码暴力攻击。

该模块重写django.contrib.auth中的default authenticate()函数,以便为自定义登录页和管理登录页提供自动保护。

每个块对唯一的用户名/IP地址组合应用。这样,来自不同IP地址的暴力尝试不会阻止原始用户登录。

安装

  1. 将brutebuster模块安装到python路径中
#pip install django-brutebuster2

要验证python模块是否可用,可以运行django shell并检查brutebuster.version的值:

$python manage.py shell
(InteractiveConsole)
>>> import BruteBuster
>>> print(BruteBuster.version)
0.2.0

如果你没有看到任何错误,那么恭喜!困难的部分结束了。

  1. 将brutebuster添加到settings.py中的已安装应用程序列表中
  2. 将brutebuster.middleware.requestmiddleware添加到settings.py中的中间件类中
  3. 运行python manage.py migrate--运行syncdb将brutebuster表添加到数据库中
  4. 就这样!如果需要,不要忘记重新启动服务器。

操作

如果一切正常,您应该在django管理界面中看到一个失败的尝试表。每当检测到登录失败时,相应用户名/IP地址组合的失败计数器都会递增。如果计数器超过某个阈值(称为bb_max_failures),则此用户和IP的登录尝试将被阻止,直到bb_block_interval(minutes)通过而没有失败的登录。

默认bb_max_failures值为5,默认bb_block_interval为3(分钟)。这两个值都可以在settings.py中重写。

显示

在django admin的failed attempts表中,所有活动块的“blocked”列都将设置为true。

块删除

删除块的最简单方法是从失败的尝试表中删除相应的行。从这个表中删除数据是完全安全的(最坏的情况是删除一些现有的块)

未来

找到什么虫子了吗?有什么建议吗?需要尚未出现的功能吗?不管怎样,我们都很想收到你的回信。您可以使用联系方式,或者直接在office()mtr-design.com向我们发送电子邮件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener