华为云用户手册

  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 独享引擎实例数量 purchased Boolean 是否曾经购买过独享引擎 items Array of ListInstance objects 详细的独享引擎信息列表 表5 ListInstance 参数 参数类型 描述 id String 独享引擎实例ID instancename String 独享引擎实例名称 region String 独享引擎实例Region ID zone String 可用区ID arch String CPU架构 cpu_flavor String E CS 规格 vpc_id String 独享引擎实例所在VPC ID subnet_id String 独享引擎实例所在VPC的子网ID service_ip String 独享引擎实例的业务面IP security_group_ids Array of strings 独享引擎绑定的安全组 status Integer 独享引擎计费状态 0:正常计费 1:冻结,资源和数据会保留,但租户无法再正常使用云服务 2:终止,资源和数据将清除 run_status Integer 独享引擎运行状态 0:创建中 1:运行中 2:删除中 3:已删除 4:创建失败 5:已冻结 6:异常 7:更新中 8:更新失败 access_status Integer 独享引擎接入状态(0:未接入,1:已接入) upgradable Integer 独享引擎是否可升级(0:不可升级,1:可升级) cloudServiceType String 云服务代码。 仅作为标记,用户可忽略。 resourceType String 云服务资源类型,仅作为标记,用户可忽略。 resourceSpecCode String 云服务资源代码。仅作为标记,用户可忽略。 specification String 独享引擎ECS规格,如"8vCPUs | 16GB" hosts Array of IdHostnameEntry objects 独享引擎防护的域名 serverId String 独享引擎ECS ID create_time Long 引擎实例创建时间 instance_name String 独享引擎实例名称 表6 IdHostnameEntry 参数 参数类型 描述 id String 防护域名ID hostname String 防护域名 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 ok { "total" : 1, "items" : [ { "id" : "c637138b6fe048e4a797d1c3712e85b3", "policyid" : "41424a44c2904e1b9e505ccdbfe8c1fb", "timestamp" : 1679888279852, "description" : "", "status" : 1, "time" : false, "priority" : 50, "action_mode" : false, "conditions" : [ { "category" : "url", "contents" : [ "test" ], "logic_operation" : "contain" } ], "action" : { "category" : "block" }, "producer" : 1 } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 数量 items Array of CustomRule objects 防护规则列表 表5 CustomRule 参数 参数类型 描述 id String 规则ID policyid String 策略ID description String 规则描述 status Integer 规则状态,0:关闭,1:开启 conditions Array of conditions objects 匹配条件列表,匹配条件必须同时满足。 action CustomAction object 精准防护规则命中后操作对象 action_mode Boolean 预留参数,可忽略。 priority Integer 执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到1000。 timestamp Long 创建精准防护规则的时间戳 time Boolean 精准防护规则生效时间: “false”:表示该规则立即生效。 “true”:表示自定义生效时间。 start Long 精准防护规则生效的起始时间戳(秒)。当time=true,才会返回该参数。 terminal Long 精准防护规则生效的终止时间戳(秒)。当time=true,才会返回该参数。 producer Integer 规则创建对象,该参数为预留参数,用于后续功能扩展,当前请用户忽略该参数 name String 规则名称 表6 conditions 参数 参数类型 描述 category String 字段类型。可选值为:url、user-agent、ip、params、cookie、referer、header、request_line、method、reqeust index String 子字段: 字段类型为url、user-agent、ip、refer、request_line、method、reqeust时,不需要传index参数 字段类型为params、header、cookie并且子字段为自定义时,index的值为自定义子字段 logic_operation String 条件匹配逻辑。 contents Array of strings 条件匹配的内容 value_list_id String 引用表id。 表7 CustomAction 参数 参数类型 描述 category String 操作类型。 “block”:拦截。 “pass”:放行。 “log”:仅记录 枚举值: block pass log followed_action_id String 攻击惩罚规则id,只有当category参数值为block时才可配置该参数 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求示例 在查询项目id为project_id,防护策略id为policy_id的防护策略下创建防敏感信息泄露规则。防敏感信息泄露规则的规则应用的url为"/attack",类别为敏感信息,规则内容为身份证号。 POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/antileakage? { "url" : "/attack", "category" : "sensitive", "contents" : [ "id_card" ] }
  • 响应示例 状态码: 200 请求成功 { "id" : "82c4f04f84fd4b2b9ba4b4ea0df8ee82", "policyid" : "2fcbcb23ef0d48d99d24d7dcff00307d", "timestamp" : 1668152426471, "status" : 1, "url" : "/attack", "category" : "sensitive", "contents" : [ "id_card" ] }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 id String 规则id policyid String 策略id url String 规则应用的url category String 类别 contents Array of strings 内容 timestamp Long 创建规则时间戳 status Integer 规则状态,0:关闭,1:开启 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 url 是 String 规则应用的url category 是 String 类别(响应码:code,敏感信息:sensitive) 枚举值: code sensitive contents 是 Array of strings 规则内容(http状态码:400 、401、402 、 403 、404 、 405 、500 、501 、502 、503、 504 、507;手机:phone、身份证号:id_card、邮箱:email) description 否 String 规则描述
  • 响应示例 状态码: 200 请求成功 { "total" : 1, "items" : [ { "description" : "", "id" : "c36e896b18ee486a81026fce8e69fb1a", "ips" : "xxx.xx.xx.xx", "name" : "sfddf", "rules" : [ ], "share_info" : { "accept_count" : 0, "process_status" : 0, "share_count" : 0 } } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 该用户当前企业项目下Ip地址组数量,只包含本地地址组 items Array of IpGroupBody objects 地址组信息列表 cloudTotal Integer 该用户总的Ip地址组数量,包含本地与共享地址组 表5 IpGroupBody 参数 参数类型 描述 id String 地址组id name String 地址组名称 ips String 地址组ip(以逗号分隔的ip或ip段) size Integer 地址组长度 rules Array of RuleInfo objects ip地址组绑定的规则列表 share_info ShareInfo object 共享信息 description String 地址组描述 表6 RuleInfo 参数 参数类型 描述 rule_id String 规则id rule_name String 规则名称 policy_id String 策略id policy_name String 策略名称 表7 ShareInfo 参数 参数类型 描述 share_count Integer 共享用户数 accept_count Integer 接受用户数 process_status Integer 处理状态 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求示例 在项目id为project_id,防护策略id为policy_id的防护策略下创建JS脚本反爬虫规则,规则名称为“test66”,JS脚本反爬虫规则类型为排除防护路径,匹配条为url包含“/test66”,执行该规则的优先级为50。 POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/anticrawler? { "name" : "test66", "type" : "anticrawler_except_url", "conditions" : [ { "category" : "url", "logic_operation" : "contain", "contents" : [ "/test66" ] } ], "priority" : 50 }
  • 响应示例 状态码: 200 ok { "id" : "7e7983bf2c9c41029d642bcbf819346d", "policyid" : "0681f69f94ac408e9688373e45a61fdb", "name" : "test66", "timestamp" : 1678931492172, "status" : 1, "type" : "anticrawler_except_url", "conditions" : [ { "category" : "url", "contents" : [ "/test66" ], "logic_operation" : "contain" } ], "priority" : 50 }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 conditions 是 Array of AnticrawlerCondition objects 匹配条件列表 name 是 String 规则名称 type 是 String JS脚本反爬虫规则类型,指定防护路径:anticrawler_specific_url 排除防护路径:anticrawler_except_url priority 是 Integer 执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到1000。 表5 AnticrawlerCondition 参数 是否必选 参数类型 描述 category 否 String 字段类型 枚举值: url user-agent logic_operation 否 String 条件列表匹配逻辑, 包括:contain、not_contain、equal、not_equal、prefix、not_prefix、suffix、not_suffix、contain_any、not_contain_all、equal_any、not_equal_all、prefix_any、not_prefix_all、suffix_any、not_suffix_all contents 否 Array of strings 条件列表逻辑匹配内容。当logic_operation参数不以any或者all结尾时,需要传该参数。 value_list_id 否 String 引用表id。当logic_operation参数以any或者all结尾时,需要传该参数。此外,引用表类型要与category类型保持一致。
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 id String 规则id policyid String 策略id conditions Array of AnticrawlerCondition objects 匹配条件列表 name String 规则名称 type String JS脚本反爬虫规则类型,指定防护路径:anticrawler_specific_url 排除防护路径:anticrawler_except_url timestamp Long 创建规则时间戳 status Integer 规则状态,0:关闭,1:开启 priority Integer 执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到1000。 表7 AnticrawlerCondition 参数 参数类型 描述 category String 字段类型 枚举值: url user-agent logic_operation String 条件列表匹配逻辑, 包括:contain、not_contain、equal、not_equal、prefix、not_prefix、suffix、not_suffix、contain_any、not_contain_all、equal_any、not_equal_all、prefix_any、not_prefix_all、suffix_any、not_suffix_all contents Array of strings 条件列表逻辑匹配内容。当logic_operation参数不以any或者all结尾时,需要传该参数。 value_list_id String 引用表id。当logic_operation参数以any或者all结尾时,需要传该参数。此外,引用表类型要与category类型保持一致。 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 请求成功 { "id" : "82c4f04f84fd4b2b9ba4b4ea0df8ee82", "policyid" : "2fcbcb23ef0d48d99d24d7dcff00307d", "timestamp" : 1668152426471, "description" : "demo", "status" : 1, "url" : "/attack", "category" : "sensitive", "contents" : [ "id_card" ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 规则id policyid String 策略id url String 规则应用的url category String 类别 contents Array of strings 内容 timestamp Long 创建规则时间戳 status Integer 规则状态,0:关闭,1:开启 description String 规则描述 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 ok { "action" : { "category" : "block" }, "action_mode" : false, "conditions" : [ { "category" : "header", "index" : "demo", "logic_operation" : "contain", "contents" : [ "demo" ] } ], "description" : "", "name" : "test55", "id" : "2a3caa2bc9814c09ad73d02e3485b4a4", "policyid" : "1f016cde588646aca3fb19f277c44d03", "priority" : 50, "status" : 1, "time" : false, "timestamp" : 1656495488880 }
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 id String 规则id name String 规则名称 policyid String 策略id description String 规则描述 status Integer 规则状态,0:关闭,1:开启 conditions Array of conditions objects 匹配条件列表,匹配条件必须同时满足。 action CustomAction object 精准防护规则命中后操作对象 action_mode Boolean 预留参数,可忽略。 priority Integer 执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到1000。 timestamp Long 创建精准防护规则的 time Boolean 精准防护规则生效时间: “false”:表示该规则立即生效。 “true”:表示自定义生效时间。 start Long 精准防护规则生效的起始时间戳(秒)。当time=true,才会返回该参数。 terminal Long 精准防护规则生效的终止时间戳(秒)。当time=true,才会返回该参数。 producer Integer 规则创建对象,该参数为预留参数,用于后续功能扩展,当前请用户忽略该参数 表8 conditions 参数 参数类型 描述 category String 字段类型。可选值为:url、user-agent、ip、params、cookie、referer、header、request_line、method、reqeust index String 子字段: 字段类型为url、user-agent、ip、refer、request_line、method、reqeust时,不需要传index参数 字段类型为params、header、cookie并且子字段为自定义时,index的值为自定义子字段 logic_operation String 条件匹配逻辑。 contents Array of strings 条件匹配的内容 value_list_id String 引用表id。 表9 CustomAction 参数 参数类型 描述 category String 操作类型。 “block”:拦截。 “pass”:放行。 “log”:仅记录 枚举值: block pass log followed_action_id String 攻击惩罚规则id,只有当category参数值为block时才可配置该参数 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求示例 在项目id为project_id和防护策略id为policy_id的防护策略下创建精准防护规则。规则的名称test55,精准防护规则命中后防护动作为拦截,执行该规则的优先级为50,匹配条件为header中发现demo字段包含“demo“,精准防护规则生效时间为立即生效。 POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom?enterprise_project_id=0 { "name" : "test55", "description" : "", "action" : { "category" : "block" }, "priority" : 50, "conditions" : [ { "category" : "header", "logic_operation" : "contain", "index" : "demo", "contents" : [ "demo" ] } ], "time" : false }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 time 是 Boolean 精准防护规则生效时间: “false”:表示该规则立即生效。 “true”:表示自定义生效时间。 start 否 Long 精准防护规则生效的起始时间戳(秒)。当time=true,才需要填写该参数。 terminal 否 Long 精准防护规则生效的终止时间戳(秒)。当time=true,才需要填写该参数。 description 否 String 规则描述 conditions 是 Array of CustomConditions objects 匹配条件列表 action 是 CustomAction object 精准防护规则命中后操作对象 priority 是 Integer 执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到1000。 name 是 String 规则名称 表5 CustomConditions 参数 是否必选 参数类型 描述 category 否 String 字段类型。可选值为:url、user-agent、ip、params、cookie、referer、header、request_line、method、request 枚举值: url user-agent referer ip method request_line request params cookie header index 否 String 子字段: 字段类型为url、user-agent、ip、refer、request_line、method、request时,不需要传index参数 字段类型为params、header、cookie并且子字段为自定义时,index的值为自定义子字段 logic_operation 否 String 条件列表匹配逻辑。 如果字段类型category是url、user-agent或者referer, 匹配逻辑可以为:contain、 not_contain、 equal、 not_equal、 prefix、 not_prefix、 suffix、 not_suffix、 contain_any、 not_contain_all、 equal_any、 not_equal_all、 equal_any、 not_equal_all、 prefix_any、 not_prefix_all、 suffix_any、 not_suffix_all、 len_greater、 len_less、len_equal或者len_not_equal 如果字段类型category是ip, 匹配逻辑可以为: equal、not_equal、equal_any或者not_equal_all 如果字段类型category是method, 匹配逻辑可以为: equal或者not_equal n - 如果字段类型category是request_line或者request, 匹配逻辑可以为: len_greater、len_less、len_equal或者len_not_equal 如果字段类型category是params、cookie或者header, 匹配逻辑可以为:contain、 not_contain、 equal、 not_equal、 prefix、 not_prefix、 suffix、 not_suffix、 contain_any、 not_contain_all、 equal_any、 not_equal_all、 equal_any、 not_equal_all、 prefix_any、 not_prefix_all、 suffix_any、 not_suffix_all、 len_greater、 len_less、len_equal、len_not_equal、、num_greater、num_less、num_equal、num_not_equal、exist或者not_exist contents 否 Array of strings 条件列表逻辑匹配内容。当logic_operation参数不以any或者all结尾时,需要传该参数。 value_list_id 否 String 引用表id。当logic_operation参数以any或者all结尾时,需要传该参数。此外,引用表类型要与category类型保持一致。 表6 CustomAction 参数 是否必选 参数类型 描述 category 是 String 操作类型。 “block”:拦截。 “pass”:放行。 “log”:仅记录 枚举值: block pass log followed_action_id 否 String 攻击惩罚规则id,只有当category参数值为block时才可配置该参数
  • 请求示例 更新项目id为project_id,防护策略id为policy_id,规则id为rule_id的攻击惩罚规则,攻击惩罚规则的攻击惩罚规则为“long_ip_block”,拦截时间为1233秒,规则描述为”update“。 PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/punishment/{rule_id}? { "category" : "long_ip_block", "block_time" : "1233", "description" : "update" }
  • 响应示例 状态码: 200 请求成功 { "block_time" : 1233, "category" : "long_ip_block", "description" : "update", "id" : "2c3afdcc982b429da4f72ee483aece3e", "policyid" : "2fcbcb23ef0d48d99d24d7dcff00307d" }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 id String 规则id policyid String 所属策略id block_time Integer 拦截时间 category String 攻击惩罚类别 description String 规则描述 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 category 是 String 攻击惩罚类别 枚举值: long_ip_block long_cookie_block long_params_block short_ip_block short_cookie_block short_params_block block_time 是 Integer 拦截时间,如果选择前缀为long的攻击惩罚类别,则block_time时长范围设置为301-1800;选择前缀为short的攻击惩罚类别,则block_time时长范围为0-300之间 description 否 String 规则描述
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 id String 地址组id name String 地址组名称 ips String 地址组ip(以逗号分隔的ip或ip段) size Integer 地址组长度 rules Array of RuleInfo objects ip地址组绑定的规则列表 description String 地址组描述 timestamp Long 时间戳 表6 RuleInfo 参数 参数类型 描述 rule_id String 规则id rule_name String 规则名称 policy_id String 策略id policy_name String 策略名称 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求示例 在项目id为project_id的项目中创建ip地址组。ip地址组的名称为"group3",地址为 "xx.xx.xx.xx",地址组描述为“demo”。 POST https://{Endpoint}/v1/{project_id}/waf/ip-groups?enterprise_project_id=0 { "name" : "group3", "ips" : "xx.xx.xx.xx", "description" : "demo" }
  • 响应示例 状态码: 200 请求成功 { "id" : "c36e896b18ee486a81026fce8e69fb1a", "ips" : "xx.xx.xx.xx", "name" : "group3", "rules" : [ ], "size" : 1, "timestamp" : 1666747418345, "description" : "demo" }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 地址组名称 ips 是 String 以逗号分隔的ip或ip段 description 否 String 地址组描述
  • 请求示例 修改项目id为project_id,防护策略id为policy_id,规则id为rule_id的cc规则,修改限速模式为ip限速,限速频率为10次,限速周期为60秒,请求次数限制到达后采取的防护动作为人机验证,cc规则防护模式为高级,规则的名称为test55,不开启域名聚合统计,cc规则防护规则限速条件是URL包含“/url”,没有子字段,不开启全局计数。 PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}? { "description" : "", "tag_type" : "ip", "limit_num" : 10, "limit_period" : 60, "action" : { "category" : "captcha" }, "mode" : 1, "name" : "test55", "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", "description" : "", "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 表10 响应Body参数 参数 参数类型 描述 name String 规则名称 id String Rule ID. policyid String Policy ID. url String 当mode值为0时,该参数有返回值。规则应用的URL链接,不包含域名。 prefix Boolean 路径是否为前缀模式,当防护url以*结束,则为前缀模式。 mode Integer cc规则防护模式,对应console上的mode,现在只支持创建高级cc规则防护模式。 0:标准,只支持对域名的防护路径做限制。 1:高级,支持对路径、IP、Cookie、Header、Params字段做限制。 枚举值: 0 1 conditions Array of CcCondition objects cc规则防护规则限速条件,当cc防护规则为高级模式(mode参数值为1)时,该参数必填。 action action object 请求次数限制到达后采取的防护动作 tag_type String 限速模式: ip:IP限速,根据IP区分单个Web访问者。 cookie:用户限速,根据Cookie键值区分单个Web访问者。 header:用户限速,根据Header区分单个Web访问者。 other:根据Referer(自定义请求访问的来源)字段区分单个Web访问者。 policy: 策略限速 domain: 域名限速 url: url限速 枚举值: ip cookie header other policy domain url tag_index String 用户标识,当限速模式为用户限速(cookie或header)时,需要传该参数。 选择cookie时,设置cookie字段名,即用户需要根据网站实际情况配置唯一可识别Web访问者的cookie中的某属性变量名。用户标识的cookie,不支持正则,必须完全匹配。例如:如果网站使用cookie中的某个字段name唯一标识用户,那么可以选取name字段来区分Web访问者。 选择header时,设置需要防护的自定义HTTP首部,即用户需要根据网站实际情况配置可识别Web访问者的HTTP首部。 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 规则创建对象,该参数为预留参数,用于后续功能扩展,当前请用户忽略该参数 表11 CcCondition 参数 参数类型 描述 category String 字段类型 枚举值: url ip ipv6 params cookie header response_code logic_operation String 条件列表匹配逻辑。 如果字段类型category是url, 匹配逻辑可以为:contain、 not_contain、 equal、 not_equal、 prefix、 not_prefix、 suffix、 not_suffix、 contain_any、 not_contain_all、 equal_any、 not_equal_all、 equal_any、 not_equal_all、 prefix_any、 not_prefix_all、 suffix_any、 not_suffix_all、 len_greater、 len_less、len_equal或者len_not_equal 如果字段类型category是ip或者ipv6,匹配逻辑可以为: equal、not_equal、equal_any或者not_equal_all 如果字段类型category是response_code,匹配逻辑可以为: equal或者not_equal 如果字段类型category是params、cookie或者header, 匹配逻辑可以为:contain、 not_contain、 equal、 not_equal、 prefix、 not_prefix、 suffix、 not_suffix、 contain_any、 not_contain_all、 equal_any、not_equal_all、 equal_any、 not_equal_all、 prefix_any、 not_prefix_all、 suffix_any、 not_suffix_all、 len_greater、 len_less、len_equal、len_not_equal、、num_greater、num_less、num_equal、num_not_equal、exist或者not_exist contents Array of strings 条件列表逻辑匹配内容。当logic_operation参数不以any或者all结尾时,需要传该参数。 value_list_id String 引用表id。当logic_operation参数以any或者all结尾时,需要传该参数。此外,引用表类型要与category类型保持一致。 index String 子字段,当字段类型(category)选择“params”、“cookie”、“header”时,请根据实际需求配置子字段且该参数必填。 表12 action 参数 参数类型 描述 category String 动作类型: captcha:人机验证,阻断后用户需要输入正确的验证码,恢复正确的访问页面。 -block:阻断。 log: 仅记录 dynamic_block: 上一个限速周期内,请求频率超过“限速频率”将被阻断,那么在下一个限速周期内,请求频率超过“放行频率”将被阻断。注:只有当cc防护规则模式为高级模式时才支持设置dynamic_block防护动作。 枚举值: captcha block log dynamic_block detail detail object 阻断页面信息。当防护动作(category)选择阻断(block)或者动态阻断(dynamic_block)时,需要设置返回的阻断页面。 如果需要返回的阻断页面为系统默认的阻断页面,不需要传该参数。 如果用户想防护自定义的阻断页面,可以通过此参数设置 表13 detail 参数 参数类型 描述 response response object 阻断页面 表14 response 参数 参数类型 描述 content_type String 内容类型,值可为“application/json”、“text/html”、“text/xml”。 枚举值: application/json text/html text/xml content String 阻断页面内容 表15 tag_condition 参数 参数类型 描述 category String 用户标识字段,其值固定为referer contents Array of strings 用户标识字段内容 状态码: 400 表16 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表17 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表18 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
共100000条