【产品技术】Web应用服务规则解析篇:精准防护(下)
删除
URI格式
DELETE /v1/{project_id}/waf/policy/{policy_id}/custom/{custom_rule_id}
Path参数说明 |
|||
名称 |
是否必选 |
参数类型 |
说明 |
project_id |
是 |
String |
用户操作的项目ID。 |
policy_id |
是 |
String |
策略ID。 |
custom_rule_id |
是 |
String |
精准防护规则的ID。 |
请求消息
请求参数
无
响应消息
响应参数
无
状态码
状态码 |
||
状态码 |
编码 |
状态说明 |
204 |
No Content |
服务器成功处理了请求,没有返回任何内容。 |
查询(自定义规则的详细信息)
URI格式
GET /v1/{project_id}/waf/policy/{policy_id}/custom/{custom_rule_id}
Path参数说明 |
|||
名称 |
是否必选 |
参数类型 |
说明 |
project_id |
是 |
String |
用户操作的项目ID。 |
policy_id |
是 |
String |
策略ID。 |
custom_rule_id |
是 |
String |
自定义精准防护规则的ID。 |
请求消息
请求参数
无
响应消息
响应参数
响应参数说明 |
||
名称 |
参数类型 |
说明 |
id |
String |
精准防护规则的ID。 |
policy_id |
String |
策略ID。 |
name |
String |
精准防护规则名称。 |
time |
Boolean |
精准防护规则生效时间。
|
start |
Long |
精准防护规则生效的起始时间。 |
end |
Long |
精准防护规则生效的终止时间。 |
conditions |
List of 表3 |
匹配条件列表。 |
action |
表4 |
精准防护规则命中后操作对象。 |
priority |
Integer |
执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到65535。 |
timestamp |
Long |
创建精准访问防护规则的时间。 |
conditions |
||
名称 |
参数类型 |
说明 |
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 |
条件匹配的内容。 |
action |
||
名称 |
参数类型 |
说明 |
category |
String |
操作类型。
|
举栗
如下以查询id 为“7374ad99c6c448e9a9ca35cb46660a39”的自定义规则为例。
响应样例
{
"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"]
}, {
"category": "referer",
"logic": "prefix",
"contents": ["https://www.waf.com/xxx"]
}, {
"category": "user-agent",
"logic": "contain",
"contents": ["Mozilla/5.0"]
}, {
"category": "cookie",
"index": "SID",
"logic": 3,
"contents": ["234SDFASR4R32412FSR325S"]
}, {
"category": "header",
"index": "x-language",
"logic": "equal",
"contents": ["en-us"]
}, {
"category": "params",
"index": "name",
"logic": "equal",
"contents": ["abc"]
}
],
"action": {
"category": "block"
},
"priority": 10,
"timestamp": 1499817600
}
状态码
状态码 |
||
状态码 |
编码 |
状态说明 |
200 |
OK |
客户端请求已处理成功。 |
更新
URI格式
PUT /v1/{project_id}/waf/policy/{policy_id}/custom/{custom_rule_id}
Path参数说明 |
|||
名称 |
是否必选 |
参数类型 |
说明 |
project_id |
是 |
String |
用户操作的项目ID。 |
policy_id |
是 |
String |
策略ID。 |
custom_rule_id |
是 |
String |
精准防护规则的ID。 |
请求消息
请求参数
请求参数说明 |
|||
名称 |
是否必选 |
参数类型 |
说明 |
name |
是 |
String |
精准防护规则的名称。 |
time |
否 |
Boolean |
精准防护规则生效时间。
|
start |
否 |
Long |
精准防护规则生效的起始时间。当time=true时,起始时间和终止时间必须有一个非空。 |
end |
否 |
Long |
精准防护规则生效的终止时间。当time=true时,起始时间和终止时间必须有一个非空。 |
conditions |
是 |
List of 表3 |
匹配条件列表。 |
action |
是 |
表4 |
精准防护规则命中后操作对象。 |
priority |
否 |
Integer |
优先级。取值范围为“0-65535”。默认值50。值越小,优先级越高。 |
conditions |
|||
名称 |
是否必选 |
参数类型 |
说明 |
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 |
条件匹配的内容。目前该字段只接受一个值,不要写入多个参数。 |
action |
|||
名称 |
是否必选 |
参数类型 |
说明 |
category |
是 |
String |
操作类型。
|
响应消息
响应参数
响应参数说明 |
||
名称 |
参数类型 |
说明 |
id |
String |
精准防护规则的ID。 |
policy_id |
String |
策略ID。 |
name |
String |
精准防护规则名称。 |
time |
Boolean |
精准防护规则生效时间。
|
start |
Long |
精准防护规则生效的起始时间。 |
end |
Long |
精准防护规则生效的终止时间。 |
conditions |
List of 表6 |
匹配条件列表。 |
action |
表7 |
精准防护规则命中后操作对象。 |
priority |
Integer |
执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到65535。 |
timestamp |
Long |
创建精准访问防护规则的时间。 |
conditions |
||
名称 |
参数类型 |
说明 |
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 |
条件匹配的内容。 |
action |
||
名称 |
参数类型 |
说明 |
category |
String |
操作类型。
|
举栗
以更新精准防护规则“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
}
状态码
状态码 |
||
状态码 |
编码 |
状态说明 |
200 |
OK |
客户端请求已处理成功。 |
- 点赞
- 收藏
- 关注作者
评论(0)