功能说明
核心功能是可以通过'ip'、'user'、'post'、'header‘多个维度来控制访问网站的频率,以达到在无其他防护的情况下保护网站。此功能和宝塔的Nginx免费版防火墙有点类似,如果你已经使用了Nginx免费版防火墙,这个功能可以不考虑的。当然你也可以设置,以此来在Nginx免费版防火墙防御失效的情况下来保护网站。

功能控制
总控制开关,关闭后所有频率限制规则将失效
功能开关:默认关闭
限制规则
配置频率限制的核心参数
限制依据
作用:定义限流标识的提取方式,支持多种模式:
'ip':基于客户端IP地址限流
'user':基于已登录用户的唯一标识(需启用Django认证系统)
'post:<fieldname>':基于POST请求中的表单字段值(如 post:mobile 基于手机号)
'header:<headername>':基于请求头字段(如 header:x-api-key)
可以多种方式组合使用
多字段联合标识:支持通过逗号分隔不同标识字段,形成复合限流键值。例如:ip,user
静态字段与动态字段结合:可混合固定字符串与动态提取字段,构建业务维度的限流策略:header:x-device-id,post:operationtype
'post:<fieldname>':基于POST请求中的表单字段值(如 post:mobile 基于手机号)
跳转链接
默认:/
频率超限后跳转的URL路径
频率设置
作用:设定请求频率阈值,格式为 <数量>/<时间单位>:
'100/d':每天100次
'10/s':每秒10次
'1/m':每分钟1次
特殊值:
None:限流失效
'unlimited':完全禁用限流
| 中文名 (Verbose Name) | 字段名 (Field Name) | 字段数据类型 (Field Type) | 默认值 (Default Value) | 字段说明 (Help Text/Remarks) |
|---|---|---|---|---|
| 功能开关 | switch | BooleanField | False | 限流功能的总开关。选项为“开启”和“关闭”。 |
| 限制依据 | ratekey | CharField | 'ip' | 定义限流标识的提取方式,支持多种模式:
支持通过逗号分隔不同标识字段进行组合,例如:ip,user 或 header:x-device-id,post:operationtype。 |
| 跳转链接 | ratelink | CharField | '/' | 频率超限后跳转的URL路径。 |
| 全局访问频率 | globalrate | CharField | 'None' | 格式:次数/单位(如5/s)。该字段不能为空。 |
| 首页访问频率 | homerate | CharField | 'None' | 首页的访问频率限制。 |
| 栏目访问频率 | categoryrate | CharField | 'None' | 栏目页面的访问频率限制。 |
| 内容访问频率 | itemrate | CharField | 'None' | 内容详情页的访问频率限制。 |
| Tag页面访问频率 | tagrate | CharField | 'None' | Tag页面的访问频率限制。 |