创建精准防护规则
功能介绍
创建精准防护规则。
URI
请求消息
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
name |
是 |
String |
自定义规则的名称。最大长度为256字符。只支持以数字、字母、下划线或中划线命名。 |
time |
否 |
Boolean |
精准防护规则生效时间。
|
start |
否 |
Long |
精准防护规则生效的起始时间。当time=true时,起始时间和终止时间必须有一个非空。 |
end |
否 |
Long |
精准防护规则生效的终止时间。当time=true时,起始时间和终止时间必须有一个非空。 |
conditions |
是 |
List of 表3 |
匹配条件列表。 |
action |
是 |
精准防护规则命中后操作对象。 |
|
priority |
否 |
Integer |
执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到65535。 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
category |
是 |
String |
条件类型。固定值path、user-agent、ip、params、cookie、referer、header。 |
index |
否 |
String |
|
logic |
是 |
String |
“contain”,“not_contain”“equal”,“not_equal”,“prefix”,“not_prefix”,“suffix”,“not_suffix”分别代表包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为。 当条件类型“category”为ip时,“logic”只能为“equal”或者“not_equal”。 |
contents |
是 |
List |
条件匹配的内容。目前该字段只接受一个值,不要写入多个参数。 |
响应消息
名称 |
参数类型 |
说明 |
---|---|---|
id |
String |
精准防护规则的ID。 |
policy_id |
String |
精准防护规则的策略ID。 |
name |
String |
精准防护规则的名称。 |
conditions |
List of 表6 |
精准防护规则的匹配条件列表。 |
action |
精准防护规则命中后操作对象。 |
|
priority |
Integer |
执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到65535。 |
time |
Boolean |
精准防护规则的生效时间。
|
start |
Long |
精准防护规则生效的起始时间。 |
end |
Long |
精准防护规则生效的终止时间。 |
timestamp |
Long |
创建精准访问防护规则的时间。 |
名称 |
参数类型 |
说明 |
---|---|---|
category |
String |
条件类型。固定值path、user-agent、ip、params、cookie、referer、header。 |
index |
String |
|
logic |
String |
“contain”,“not_contain”“equal”,“not_equal”,“prefix”,“not_prefix”,“suffix”,“not_suffix”分别代表包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为。 当条件类型“category”为ip时,“logic”只能为“equal”或者“not_equal”。 |
contents |
List |
条件匹配的内容。 |
示例
如下以创建一条名为“rule1”的精准防护规则为例。
- 请求样例
{ "name":"rule1", "time": true, "start": 1499817600, "end": 1567817600, "conditions": [{ "category": "path", "contents": ["/login"], "logic": "contain" },{ "category": "ip", "logic": "equal", "contents": ["X.X.1.1"] } ], "action": { "category": "block" }, "priority": 10 }
- 响应样例
{ "id": "7374ad99c6c448e9a9ca35cb46660a39", "policy_id": "9tre832yf96784ec8abd8ba61a98064ef", "name":"rule1", "time": true, "start": 1499817600, "end": 1567817600, "conditions": [{ "category": "path", "contents": ["/login"], "logic": "contain" },{ "category": "ip", "logic": "equal", "contents": ["X.X.1.1"] } ], "action": { "category": "block" }, "priority": 10, "timestamp": 1499817600 }