跳转到主要内容

Django大型项目视图框架。

项目描述

DjBrut logo

DjBrut 标志

Build Status PyPI version Status Code size License

DjBrut – Django项目的简单暴力破解保护。

默认检查器

  • IP的最大请求次数。

  • 用户的最大请求次数。

  • 单个CSRF-token的最大请求次数(愚蠢但有效)。

  • 请求频率限制。

DjBrut使用Redis作为所有计数器的存储。

安装

pip install djbrut

使用

from django.http import HttpResponse
from djbrut import Attempt

def some_view(request):
    attempt = Attempt('some rule type name', request)
    # check
    if not attempt.check():
        # error
        return HttpResponse(attempt.error)
    # success
    ...

您可以在示例项目中了解更多详细信息。

配置

只需设置规则

BRUTEFORCE_LIMITS = {
    'default': Rule(
        user=100,       # max requests for one user by BRUTEFORCE_TIMELIMIT
        ip=300,         # max requests for one IP by BRUTEFORCE_TIMELIMIT
        csrf=50,        # max requests with one CSRF token by BRUTEFORCE_TIMELIMIT
        freq=0,         # max request frequency for client [seconds]
    ),
    'some rule type name': Rule(
        user=100,       # max requests for one user by BRUTEFORCE_TIMELIMIT
        ip=300,         # max requests for one IP by BRUTEFORCE_TIMELIMIT
        csrf=50,        # max requests with one CSRF token by BRUTEFORCE_TIMELIMIT
        freq=0,         # max request frequency for client [seconds]
    ),
}

Attempt 获取规则类型名称作为第一个参数。如果规则类型名称不在BRUTEFORCE_LIMITS键中,则使用默认规则。如果您未设置默认规则,则传递的规则类型必须在BRUTEFORCE_LIMITS键中存在。

BRUTEFORCE_TIMELIMIT – 所有尝试计数器的有效时间。

您可以在默认设置中查看更多参数,例如自定义错误消息。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

djbrut-1.0.0.tar.gz (7.7 kB 查看哈希值)

上传时间 源代码

由...