This API is used to update a global protection whitelist (false alarm masking) rule.
PUT /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID |
policy_id |
Yes |
String |
Policy ID. It can be obtained by calling the ListPolicy API. |
rule_id |
Yes |
String |
ID of the false alarm masking rule. It can be obtained by calling the ListIgnoreRules API. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token |
Content-Type |
No |
String |
Content type Default: application/json;charset=utf8 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
domain |
Yes |
Array of strings |
Domain names to be protected. If the array length is 0, this rule will take effect for all domain names that are protected by the policies this rule belongs to. |
conditions |
Yes |
Array of CreateCondition objects |
Condition list |
mode |
Yes |
Integer |
The value is fixed at 1, indicating v2 false alarm masking rules. |
rule |
Yes |
String |
Items to be masked. You can provide multiple items and separate them with semicolons (;).
|
advanced |
No |
Array of Advanced objects |
To ignore attacks of a specific field, specify the field in the Advanced settings area. After you add the rule, WAF will stop blocking attacks of the specified field. This parameter is not included if all modules are bypassed. |
description |
No |
String |
Description of the rule |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
category |
No |
String |
Field type. The value can be url, ip, params, cookie, or header. Enumeration values:
|
contents |
No |
Array of strings |
Content. The array length is limited to 1. The content format varies depending on the field type. For example, if the field type is ip, the value must be an IP address or IP address range. If the field type is url, the value must be in the standard URL format. IF the field type is params, cookie, or header, the content format is not limited. |
logic_operation |
No |
String |
The matching logic varies depending on the field type. For example, if the field type is ip, the logic can be equal or not_equal. If the field type is url, params, cookie, or header, the logic can be equal, not_equal, contain, not_contain, prefix, not_prefix, suffix, not_suffix. |
index |
No |
String |
If the field type is ip and the subfield is the client IP address, the index parameter is not required. If the subfield type is X-Forwarded-For, the value is x-forwarded-for; If the field type is params, header, or cookie, and the subfield is user-defined, the value of index is the user-defined subfield. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
index |
No |
String |
Field type. The following field types are supported: Params, Cookie, Header, Body, and Multipart.
|
contents |
No |
Array of strings |
Subfield of the specified field type. The default value is all. |
Status code: 200
Parameter |
Type |
Description |
---|---|---|
id |
String |
Rule ID |
policyid |
String |
Policy ID |
rule |
String |
Items to be masked. You can provide multiple items and separate them with semicolons (;).
|
mode |
Integer |
The value is fixed at 1, indicating v2 false alarm masking rules are used. |
conditions |
Array of Condition objects |
Condition list |
advanced |
Array of Advanced objects |
Advanced settings |
domain |
Array of strings |
Domain names to be protected. If the array length is 0, this rule will take effect for all domain names that are protected by the policies this rule belongs to. |
Parameter |
Type |
Description |
---|---|---|
category |
String |
Field type. The value can be ip, url, params, cookie, or header. |
contents |
Array of strings |
Content. The array length must be 1. The content format varies depending on field types. For example, if the field type is ip, the value must be an IP address or IP address range. If the field type is url, the value must be a URL in standard format. If the field type is params, cookie, or header, the content format is not limited. |
logic_operation |
String |
The matching logic varies depending on the field type. For example, if the field type is ip, the logic can be equal or not_equal. If the field type is url, params, cookie, or header, the logic can be equal, not_equal, contain, not_contain, prefix, not_prefix, suffix, not_suffix. |
check_all_indexes_logic |
Integer |
This parameter is reserved and can be ignored. |
index |
String |
If the field type is ip and the subfield is the client IP address, the index parameter does not exist. If the subfield type is X-Forwarded-For, the value is x-forwarded-for. If the field type is params, header, or cookie, and the subfield is user-defined, the value of index is the user-defined subfield. |
Parameter |
Type |
Description |
---|---|---|
index |
String |
Field type. The following field types are supported: Params, Cookie, Header, Body, and Multipart.
|
contents |
Array of strings |
Subfield of the specified field type. The default value is all. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code |
error_msg |
String |
Error message |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code |
error_msg |
String |
Error message |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code |
error_msg |
String |
Error message |
PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}? { "domain" : [ "www.example.com" ], "mode" : 1, "description" : "", "conditions" : [ { "category" : "ip", "logic_operation" : "equal", "index" : null, "contents" : [ "x.x.x.x" ] } ], "rule" : "006602" }
Status code: 200
Request succeeded.
{ "id" : "40484384970948d79fffe4e4ae1fc54d", "policyid" : "f385eceedf7c4c34a4d1def19eafbe85", "timestamp" : 1650512535222, "description" : "demo", "status" : 1, "rule" : "006602", "mode" : 1, "conditions" : [ { "category" : "ip", "contents" : [ "x.x.x.x" ], "logic_operation" : "equal" } ], "domain" : [ "www.example.com" ] }
Status Code |
Description |
---|---|
200 |
Request succeeded. |
400 |
Request failed. |
401 |
The token does not have required permissions. |
500 |
Internal server error. |
See Error Codes.