功能说明

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

功能控制


总控制开关,关闭后所有频率限制规则将失效
功能开关:默认关闭

限制规则


配置频率限制的核心参数


限制依据

 

作用‌:定义限流标识的提取方式,支持多种模式:

'ip':基于客户端IP地址限流
'user':基于已登录用户的唯一标识(需启用Django认证系统)
'post:<fieldname>':基于POST请求中的表单字段值(如 post:mobile 基于手机号)
'header:<header
name>':基于请求头字段(如 header:x-api-key)
可以多种方式组合使用

多字段联合标识:支持通过逗号分隔不同标识字段,形成复合限流键值。例如:ip,user
静态字段与动态字段结合:可混合固定字符串与动态提取字段,构建业务维度的限流策略:header:x-device-id,post:operationtype
'post:<field
name>':基于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)
功能开关switchBooleanFieldFalse限流功能的总开关。选项为“开启”和“关闭”。
限制依据ratekeyCharField'ip'

定义限流标识的提取方式,支持多种模式:

  • 'ip': 基于客户端IP地址限流
  • 'user': 基于已登录用户的唯一标识(需启用Django认证系统)
  • 'post:<fieldname>': 基于POST请求中的表单字段值(如 post:mobile 基于手机号)
  • 'header:<headername>': 基于请求头字段(如 header:x-api-key)

支持通过逗号分隔不同标识字段进行组合,例如:ip,user 或 header:x-device-id,post:operationtype。

跳转链接ratelinkCharField'/'频率超限后跳转的URL路径。
全局访问频率globalrateCharField'None'格式:次数/单位(如5/s)。该字段不能为空。
首页访问频率homerateCharField'None'首页的访问频率限制。
栏目访问频率categoryrateCharField'None'栏目页面的访问频率限制。
内容访问频率itemrateCharField'None'内容详情页的访问频率限制。
Tag页面访问频率tagrateCharField'None'Tag页面的访问频率限制。
RateLimitConfig 模型字段说明