创建cc规则
功能介绍
创建cc规则
URI
POST /v1/{project_id}/waf/policy/{policy_id}/cc
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID,对应控制台用户名->我的凭证->项目列表->项目ID |
policy_id | 是 | String | 策略id(策略id从查询防护策略列表接口获取) |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
enterprise_project_id | 否 | String | 您可以通过调用企业项目管理服务(EPS)的查询企业项目列表接口(ListEnterpriseProject)查询企业项目id |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
Content-Type | 是 | String | 内容类型 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 否 | String | 规则名称 |
mode | 是 | Integer | cc规则防护模式,对应console上的mode,现在只支持创建高级cc规则防护模式。
|
conditions | 是 | Array of CcCondition objects | cc规则防护规则限速条件,当cc防护规则为高级模式(mode参数值为1)时,该参数必填。 |
action | 是 | action object | 请求次数限制到达后采取的防护动作 |
tag_type | 是 | String | 限速模式:
|
tag_index | 否 | String | 用户标识,当限速模式为用户限速(cookie或header)时,需要传该参数。
|
tag_condition | 否 | tag_condition object | 用户标识,当限速模式为other时,需要传该参数。根据Referer(自定义请求访问的来源)字段区分单个Web访问者 |
limit_num | 是 | Integer | 限制频率,单位为次,范围为1~2147483647 |
limit_period | 是 | Integer | 限速周期,单位为秒,范围1~3600 |
unlock_num | 否 | Integer | 放行频率,单位为次,范围为0~2147483647。只有当防护动作类型为dynamic_block时,才需要传该参数。 |
lock_time | 否 | Integer | 阻断时间,单位为秒,范围为0~65535。当“防护动作”选择“阻断”时,可设置阻断后恢复正常访问页面的时间。 |
domain_aggregation | 否 | Boolean | 是否开启域名聚合统计。 |
region_aggregation | 否 | Boolean | 是否开启全局计数。 |
description | 否 | String | 规则描述 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
category | 是 | String | 字段类型 |
logic_operation | 是 | String | 条件列表匹配逻辑。
|
contents | 否 | Array of strings | 条件列表逻辑匹配内容。当logic_operation参数不以any或者all结尾时,需要传该参数。 |
value_list_id | 否 | String | 引用表id。当logic_operation参数以any或者all结尾时,需要传该参数。此外,引用表类型要与category类型保持一致。 |
index | 否 | String | 子字段,当字段类型(category)选择“params”、“cookie”、“header”时,请根据实际需求配置子字段且该参数必填。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
category | 是 | String | 动作类型:
-block:阻断。 |
detail | 否 | detail object | 阻断页面信息。当防护动作(category)选择阻断(block)或者动态阻断(dynamic_block)时,需要设置返回的阻断页面。
|
响应参数
状态码:200
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 规则名称 |
id | String | Rule ID. |
policyid | String | Policy ID. |
url | String | 当mode值为0时,该参数有返回值。规则应用的URL链接。 |
prefix | Boolean | 路径是否为前缀模式,当防护url以*结束,则为前缀模式。 |
mode | Integer | cc规则防护模式,对应console上的mode,现在只支持创建高级cc规则防护模式。
|
status | Integer | 规则状态,0:关闭,1:开启 |
conditions | Array of CcCondition objects | cc规则防护规则限速条件,当cc防护规则为高级模式(mode参数值为1)时,该参数必填。 |
action | action object | 请求次数限制到达后采取的防护动作 |
tag_type | String | 限速模式:
|
tag_index | String | 用户标识,当限速模式为用户限速(cookie或header)时,需要传该参数。
|
tag_condition | tag_condition object | 用户标识,当限速模式为other时,需要传该参数。根据Referer(自定义请求访问的来源)字段区分单个Web访问者 |
limit_num | Integer | 限制频率,单位为次,范围为1~2147483647 |
limit_period | Integer | 限速周期,单位为秒,范围1~3600 |
unlock_num | Integer | 放行频率,单位为次,范围为0~2147483647。只有当防护动作类型为dynamic_block时,才需要传该参数。 |
lock_time | Integer | 阻断时间,单位为秒,范围为0~65535。当“防护动作”选择“阻断”时,可设置阻断后恢复正常访问页面的时间。 |
domain_aggregation | Boolean | 是否开启域名聚合统计。 |
region_aggregation | Boolean | 是否开启全局计数。 |
description | String | 规则描述 |
total_num | Integer | 该参数为预留参数,用于后续功能扩展,当前请用户忽略该参数 |
unaggregation | Boolean | 该参数为预留参数,用于后续功能扩展,当前请用户忽略该参数 |
aging_time | Integer | 规则老化时间,该参数为预留参数,用于后续功能扩展,当前请用户忽略该参数 |
producer | Integer | 规则创建对象,该参数为预留参数,用于后续功能扩展,当前请用户忽略该参数 |
timestamp | Long | 创建规则时间戳 |
参数 | 参数类型 | 描述 |
|---|---|---|
category | String | 字段类型 |
logic_operation | String | 条件列表匹配逻辑。
|
contents | Array of strings | 条件列表逻辑匹配内容。当logic_operation参数不以any或者all结尾时,需要传该参数。 |
value_list_id | String | 引用表id。当logic_operation参数以any或者all结尾时,需要传该参数。此外,引用表类型要与category类型保持一致。 |
index | String | 子字段,当字段类型(category)选择“params”、“cookie”、“header”时,请根据实际需求配置子字段且该参数必填。 |
参数 | 参数类型 | 描述 |
|---|---|---|
category | String | 动作类型:
-block:阻断。 |
detail | detail object | 阻断页面信息。当防护动作(category)选择阻断(block)或者动态阻断(dynamic_block)时,需要设置返回的阻断页面。
|
参数 | 参数类型 | 描述 |
|---|---|---|
content_type | String | 内容类型,值可为“application/json”、“text/html”、“text/xml”。 |
content | String | 阻断页面内容 |
状态码:400
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误信息 |
状态码:401
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误信息 |
状态码:500
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误信息 |
请求示例
在项目id为project_id和防护策略id为policy_id的防护策略下创建cc规则,规则的名称test55,限速模式为ip限速,限制频率为10,限速周期为60秒,请求次数限制到达后采取的防护动作为人机验证,cc规则防护模式为高级,cc规则防护规则限速条件的字段类型是URL包含“/url”,没有子字段,不开启全局计数
POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc?
{
"description" : "",
"name" : "test55",
"tag_type" : "ip",
"limit_num" : 10,
"limit_period" : 60,
"action" : {
"category" : "captcha"
},
"mode" : 1,
"domain_aggregation" : false,
"conditions" : [ {
"category" : "url",
"logic_operation" : "contain",
"contents" : [ "/url" ],
"index" : null
} ],
"region_aggregation" : false
} 响应示例
状态码:200
Request succeeded.
{
"id" : "f88c5eabff9b4ff9ba6e7dd8e38128ba",
"policyid" : "d471eef691684f1c8d7784532fd8f4bd",
"name" : "test55",
"timestamp" : 1678873040603,
"description" : "",
"status" : 1,
"mode" : 1,
"conditions" : [ {
"category" : "url",
"contents" : [ "/url" ],
"logic_operation" : "contain"
} ],
"action" : {
"category" : "captcha"
},
"producer" : 1,
"unaggregation" : false,
"total_num" : 0,
"limit_num" : 10,
"limit_period" : 60,
"lock_time" : 0,
"tag_type" : "ip",
"aging_time" : 0,
"region_aggregation" : false,
"domain_aggregation" : false
} 状态码
状态码 | 描述 |
|---|---|
200 | Request succeeded. |
400 | Request failed. |
401 | The token does not have required permissions. |
500 | Internal server error. |
错误码
请参见错误码。

