Creating a Precise Protection Rule
Function
This API is used to create a precise protection rule.
URI
POST /v1/{project_id}/waf/policy/{policy_id}/custom
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID |
policy_id |
Yes |
String |
Protection policy ID. You can call the ListPolicy API to obtain the policy ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
auth token |
Content-Type |
Yes |
String |
Content type Default: application/json;charset=utf8 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
No |
String |
Name of the custom rule |
time |
No |
Boolean |
Time the precise protection rule takes effect.
|
start |
No |
Long |
Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. |
terminal |
No |
Long |
Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. |
conditions |
No |
Array of CustomConditions objects |
Match condition List |
action |
No |
CustomAction object |
Protective action of the precise protection rule |
priority |
No |
Integer |
Priority of a rule. Smaller values correspond to higher priorities. If two rules are assigned with the same priority, the rule added earlier has higher priority. The value ranges from 0 to 1000. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
category |
No |
String |
The condition types can be path, user-agent, ip, params, cookie, referer, or header. |
index |
No |
String |
|
check_all_indexes_logic |
No |
Integer |
Available values are 1 and 2. The value 1 indicates all subfields, and the value 2 indicates any subfields. |
logic_operation |
No |
Integer |
The value can be:
|
contents |
No |
Array of strings |
Content of the match conditions |
value_list_id |
No |
String |
ID of the reference table |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
id |
String |
ID of a precise protection rule. |
policyid |
String |
ID of the policy to which the rule belongs. |
conditions |
Array of conditions objects |
List of matching conditions. All conditions must be met. |
action |
action object |
Protective action of the precise protection rule |
priority |
Integer |
Priority of a rule. Smaller values correspond to higher priorities. If two rules are assigned with the same priority, the rule added earlier has higher priority. The value ranges from 0 to 1000. |
timestamp |
Long |
Timestamp when the precise protection rule is created. |
start |
Long |
Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. |
terminal |
Long |
Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. |
Parameter |
Type |
Description |
---|---|---|
category |
String |
Condition type. Its option can be path, user-agent, ip, params, cookie, referer, or header. |
index |
String |
|
check_all_indexes_logic |
Integer |
Available values are 1 and 2. The value 1 indicates all subfields, and the value 2 indicates any subfields. |
logic_operation |
Integer |
The value can be:
|
contents |
Array of strings |
Content of the match conditions |
Parameter |
Type |
Description |
---|---|---|
category |
String |
Action type.
|
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error Code |
error_msg |
String |
Error Messages |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error Code |
error_msg |
String |
Error Messages |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error Code |
error_msg |
String |
Error Messages |
Example Requests
POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom?enterprise_project_id=0 { "description" : "", "action" : { "category" : "block" }, "priority" : 50, "conditions" : [ { "category" : "header", "logic_operation" : "exist", "index" : "sdfsafsda" } ], "time" : false }
Example Responses
Status code: 200
ok
{ "items" : [ { "action" : { "category" : "block" }, "action_mode" : false, "aging_time" : 0, "conditions" : [ { "category" : "header", "index" : "sdfsafsda", "logic_operation" : "exist" } ], "description" : "", "id" : "2a3caa2bc9814c09ad73d02e3485b4a4", "policyid" : "1f016cde588646aca3fb19f277c44d03", "priority" : 50, "producer" : 1, "status" : 1, "time" : false, "timestamp" : 1656495488880 } ] }
Status Codes
Status Code |
Description |
---|---|
200 |
ok |
400 |
Request failed. |
401 |
The token does not have required permissions. |
500 |
Internal server error. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot