Django大型项目视图框架。
项目描述
DjBrut 标志
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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b9dafe927e75b1718f0794d16212bde49b8e457d81c04adc8b6641218589208b |
|
MD5 | da6d8ac05e4c88722e961df324f717da |
|
BLAKE2b-256 | 76baf910e67250984909d7cc9dd5c501514ba66443d02ab5564e9b9137e8e4e0 |