WAF3.0 API¶
POST 列出 CRS 设置规则¶
POST /prod-api/waf/wafv3/custody/rules/describeCrsSetupRules
Body 请求参数
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
wafId |
integer(int64) | 是 | 策略组 ID |
pageNum |
integer | 是 | 页码,从 1 开始 |
pageSize |
integer | 是 | 每页条数 |
params |
object | 否 | 扩展参数,一般传 {} |
请求参数¶
| 名称 | 位置 | 类型 | 必选 | 中文名 | 说明 |
|---|---|---|---|---|---|
| Authorization | header | string | 是 | 鉴权 | Bearer Token |
| body | body | object | 是 | 请求体 | 见上文 |
返回示例
200 Response
{
"total": 13,
"rows": [
{
"ruleId": 900200,
"ruleTitle": "允许的请求内容",
"ruleMessage": "限制请求内容类型\n建议:\n对于RESTful API,添加以下方法:PUT、PATCH、DELETE\n...",
"defaultVariable": [
{
"name": "tx.allowed_methods",
"values": ["GET", "HEAD", "POST", "OPTIONS"]
}
],
"variable": [
{
"name": "tx.allowed_methods",
"values": ["GET", "HEAD", "POST", "OPTIONS"]
}
],
"variableModel": [
{
"name": "tx.allowed_methods",
"type": "arrayOfString",
"explains": "请求方法",
"optionalVariables": "[\"GET\",\"HEAD\",\"POST\",\"OPTIONS\",\"PUT\",\"PATCH\",\"DELETE\",...]"
}
]
}
],
"code": 200,
"msg": "成功"
}
返回结果¶
| 状态码 | 状态码含义 | 说明 |
|---|---|---|
| 200 | OK | 成功 |
| 401 | Unauthorized | 未授权 |
| 403 | Forbidden | 无权限 |
返回数据结构¶
状态码 200
| 名称 | 类型 | 必选 | 说明 |
|---|---|---|---|
total |
integer | 是 | 规则总条数 |
rows |
[object] | 是 | 当前页规则列表 |
code |
integer | 是 | 200 表示成功 |
msg |
string | 是 | 提示信息 |
rows[] 每条规则¶
| 字段 | 类型 | 说明 |
|---|---|---|
ruleId |
integer | CRS 设置规则 ID;更新基础防护规则 时必填 |
ruleTitle |
string | 规则标题(控制台列表展示) |
ruleMessage |
string | 规则说明与配置建议,可含换行 \n |
defaultVariable |
[object] | 平台默认值;未单独配置时参考此项 |
variable |
[object] | 当前策略组下已生效的配置;提交修改时使用该结构 |
variableModel |
[object] | 参数元数据,供前端校验与渲染控件 |
defaultVariable / variable(结构相同)¶
每项表示一个 ModSecurity 事务变量及其取值:
| 字段 | 类型 | 说明 |
|---|---|---|
name |
string | 变量名,如 tx.allowed_methods、tx.max_num_args |
values |
string[] | 当前取值列表。arrayOfString 类型为多个字符串;integer 类型通常仅 1 个数字字符串 |
defaultVariable:系统预设,用于「恢复默认」展示。variable:绑定到当前wafId的实际配置;调用modifyCrsSetupRule时传回修改后的variable即可。
variableModel[](参数定义)¶
| 字段 | 类型 | 说明 |
|---|---|---|
name |
string | 与 variable[].name 对应 |
type |
string | arrayOfString:多选字符串列表;integer:单个整数 |
explains |
string | 参数中文说明(如「请求方法」「最大值」) |
optionalVariables |
string | 可选值范围的 JSON 字符串。arrayOfString 时为允许选中的全部枚举;integer 时一般为 ["最小值","最大值"],如 ["0","255"] |
type 与填写方式
type |
values 填写 |
校验规则 |
|---|---|---|
arrayOfString |
从 optionalVariables 解析出的列表中多选 |
每个 values 元素须在可选列表内 |
integer |
单个数字字符串,如 "255" |
须在 optionalVariables 给出的最小–最大范围内 |
与 modifyCrsSetupRule 的配合¶
- 调用本接口获取
rows。 - 在控制台修改某条规则的
variable(在variableModel约束内选值或填数字)。 POST modifyCrsSetupRule,提交wafId、ruleId及更新后的variable数组(结构与rows[].variable相同)。
示例:将「允许的请求内容」增加 PUT、PATCH,则 variable 为: