本文介绍防护规则(DefenseRule)配置相关OpenAPI的通用参数。
conditions配置说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
key | String | 必选 | IP | 匹配字段。取值:URL、URLPath、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、Extension、Filename、Server-Port、Host、Cookie-Exact、Query-Arg、Post-Arg。 Bot管理高级自定义规则特有字段:Client-ID、Ja3-Fingerprint、Ja4-Fingerprint、Http2-Fingerprint、Isp-ID、WebSdk、AppSdk。 重要 不同的 WAF 版本支持的匹配字段不同,请以 WAF 控制台对应类型规则中匹配字段为准。 |
subKey | String | 可选 | abc | 自定义子匹配字段。 说明 并不是每一个自定义规则的匹配字段(key)都有自定义子匹配字段(subKey)。关于不同匹配字段是否支持自定义子匹配字段,请以 WAF 控制台对应类型规则中匹配字段和自定义匹配字段的关系为准。 |
opValue | String | 必选 | contain | 逻辑符。取值:
说明 并不是每一个自定义规则的匹配字段(key)都能对应配置全部的逻辑符(opValue)。关于不同匹配字段支持使用的逻辑符,请以 WAF 控制台对应类型规则中匹配字段和逻辑符的关联关系为准。 |
values | String | 必选 | abc | 匹配内容,根据需要填写相应的内容,多个值之间使用英文逗号(,)分隔。 说明 匹配条件参数中的逻辑符(opValue)、匹配内容(values)参数取值范围与所指定的匹配字段(key)相关。 |
ratelimit配置说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
target | String | 必选 | remote_addr | 统计对象类型。取值:
以下参数仅 Bot 高级自定义规则支持:
|
subKey | String | 可选 | abc | 统计对象的子特征。当 target 参数值为 cookie、header 、queryarg 或postarg 时,必须在 subkey 参数中填写对应的信息。 |
interval | Integer | 必选 | 60 | 统计时长,单位为秒。即访问次数的统计周期,与阈值(threshold)参数配合。 |
threshold | Integer | 必选 | 200 | 在检测时长内,允许单个统计对象访问被防护地址的次数阈值。 |
ttl | Integer | 必选 | 1800 | 处置动作的生效时长,单位为秒。 |
status | JSON | 可选 | {"code":404,"count":200} | 响应码频率设置。以 JSON 字符串格式进行描述,具体包含以下参数:
|
distinctStat | Array | 可选 | [{"key":"URL","opValue":"gt","values":"1"}] | 去重统计条件配置。 说明 仅 Bot高级自定义规则支持。具体配置信息,请参见 distinctStat 详细配置。 |
distinctStat 配置说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
key | String | 必选 | IP | 匹配字段。取值:URL、URLPath、IP、Cookie-Exact、Post-Arg、Header、Query-Arg、Ja3-Fingerprint、Ja4-Fingerprint、Http2-Fingerprint、WebSdk、AppSdk。 重要 去重统计的匹配字段与购买的Bot管理防护功能相关,具体支持情况以WAF控制台支持的匹配字段为准。 |
subKey | String | 可选 | abc | 自定义去重条件子匹配字段。 说明 并不是每一个去重统计条件规则的匹配字段(key)都有自定义子匹配字段(subKey)。关于不同匹配字段是否支持子匹配字段,请以 WAF 控制台 BOT 高级自定义规则中去重统计条件配置下匹配字段和自定义匹配字段的关系为准。 |
opValue | String | 必选 | Equal | 逻辑符。取值:
|
value | String | 必选 | abc | 匹配字段的值。 |
grayConfig配置说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
grayTarget | String | 必选 | 80 | 灰度对象类型。取值:
以下参数仅 Bot 高级自定义规则支持:
|
graySubKey | String | 可选 | abc | 统计对象的子特征。当 grayTarget 参数值为 cookie、header 或 queryarg 时,必须在 graySubKey 参数中填写对应的信息。 |
grayRate | Integer | 必选 | 20 | 灰度生效百分比。取值范围为:1~100。 |
timeConfig配置说明
名称 | 类型 | 是否必选 | 示例值 | 描述 |
timeScope | String | 必选 | period | 规则生效时间范围。取值:
|
timeZone | Integer | 必选 | 8 | 规则生效的时区,默认为 8,取值范围:-12~12,其中 0 表示世界时间,8 表示 UTC+8 东八区,-8表示 UTC-8 西八区。 |
timePeriods | Array | 可选 | [{"start":1758771729787,"end":1758816000000}] | 规则生效的时间段。当 timeScope 参数值为 period 时,必须设置该参数,支持设置多个时间段。具体包含以下参数:
|
weekTimePeriods | Array | 可选 | [{"day":"1","dayPeriods":[{"start":0,"end":51644084}]},{"day":"1,2,5","dayPeriods":[{"start":0,"end":42928908}]}] | 规则周期性生效的时间段。当 timeScope 参数值为 cycle 时,必须设置该参数,支持设置多个时间段。具体包含以下参数:
|