华为云用户手册

  • 响应示例 状态码: 200 OK { "id" : "5d43af25404341058d5ab17b7ba78b56", "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d", "name" : "demo", "timestamp" : 1650531872900, "description" : "demo", "status" : 1, "addr" : "x.x.x.x", "white" : 0 }
  • 请求示例 在项目id为project_id,防护策略id为policy_id的防护策略下创建黑白名单规则,规则名称为"demo",防护动作为"拦截",描述为‘demo”,黑白名单ip地址为“x.x.x.x”。 POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/whiteblackip?enterprise_project_id=0 { "name" : "demo", "white" : 0, "description" : "demo", "addr" : "x.x.x.x" }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 id String 规则id name String 黑白名单规则名称 policyid String 策略id addr String 黑白名单ip地址,需要输入标准的ip地址或地址段,例如:42.123.120.66或42.123.120.0/16 white Integer 防护动作: 0 拦截 1 放行 2 仅记录 ip_group Ip_group object Ip地址组 status Integer 规则状态,0:关闭,1:开启 description String 规则描述 timestamp Long 创建规则的时间戳,13位毫秒时间戳 表6 Ip_group 参数 参数类型 描述 id String Ip地址组id,在新增Ip地址组时系统自动生成的唯一标识 name String Ip地址组名 size Long Ip地址组中包含Ip/Ip段的数量 状态码: 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 表4 响应Body参数 参数 参数类型 描述 id String 引用表id name String 引用表名称 type String 引用表类型 description String 引用表描述 values Array of strings 引用表的值 producer Integer 引用表来源: 1:表示来源于用户手动创建 2:表示来源于智能访问控制自动创建 timestamp Long 创建规则的时间,格式为13位毫秒时间戳 状态码: 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 错误信息
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 chargemode 否 Integer 收费模式,当前仅支持按需收费(30) region 是 String 需要创建独享引擎的局点,例如:北京四(cn-north-4) available_zone 是 String 需要创建独享引擎的可用区,例如:北京四可用区1(cn-north-4a) arch 是 String 独享引擎CPU架构,例如:x86与arm instancename 是 String 独享引擎名称前缀 specification 是 String 独享引擎版本规格 企业版:waf.instance.enterprise 专业版:waf.instance.professional cpu_flavor 是 String 独享引擎ECS规格,实例规格。具体支持的规格以waf控制台上支持的规格为准。 vpc_id 是 String 独享引擎所在VPC的ID subnet_id 是 String 独享引擎所在VPC内的子网ID security_group 是 Array of strings 独享引擎需要绑定的安全组ID count 是 Integer 申请的独享引擎数量 res_tenant 否 Boolean 是否为资源租户类,默认值为false。 true: 资源租户类 false: 普通租户类
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 instances Array of instanceInfo objects instances 表6 instanceInfo 参数 参数类型 描述 id String 引擎实例ID 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的项目中创建WAF独享引擎实例,WAF独享引擎实例的收费模式为按需收费,需要创建独享引擎的局点为“region-01-4”,创建独享引擎的可用区为“region-01-4a”,独享引擎CPU架构为“x86”,独享引擎名称前缀为“demo”,独享引擎版本规格为企业版,独享引擎ECS规格为 "c3ne.2xlarge.2",独享引擎所在VPC的ID为"d7b6a5ff-6c53-4cd4-9d57-f20ee8753056",独享引擎所在VPC内的子网ID为“e59ccd18-7e15-4588-b689-04b856f4e78b”,独享引擎需要绑定的安全组ID为“09b156a2-f0f0-41fd-9891-60e594601cfd”,数量为一个,是 资源租户类。 POST https://{endpoint}/v1/{project_id}/premium-waf/instance { "chargemode" : 30, "region" : "region-01-4", "available_zone" : "region-01-4a", "arch" : "x86", "instancename" : "demo", "specification" : "waf.instance.enterprise", "cpu_flavor" : "c3ne.2xlarge.2", "vpc_id" : "d7b6a5ff-6c53-4cd4-9d57-f20ee8753056", "subnet_id" : "e59ccd18-7e15-4588-b689-04b856f4e78b", "security_group" : [ "09b156a2-f0f0-41fd-9891-60e594601cfd" ], "count" : 1, "res_tenant" : true }
  • 响应示例 状态码: 200 OK { "id" : "38ff0cb9a10e4d5293c642bc0350fa6d", "name" : "demo", "level" : 2, "action" : { "category" : "log" }, "options" : { "webattack" : true, "common" : true, "crawler" : true, "crawler_engine" : false, "crawler_scanner" : true, "crawler_script" : false, "crawler_other" : false, "webshell" : false, "cc" : true, "custom" : true, "whiteblackip" : true, "geoip" : true, "ignore" : true, "privacy" : true, "antitamper" : true, "antileakage" : false, "bot_enable" : true, "modulex_enabled" : false }, "hosts" : [ ], "extend" : { }, "timestamp" : 1650529538732, "full_detection" : false, "bind_host" : [ ] }
  • 请求示例 更新项目id为project_id,防护策略id为policy_id,规则id为rule_id的的JS脚本反爬虫规则,更新JS脚本反爬虫规则类型为排除防护路径。 PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/anticrawler? { "anticrawler_type" : "anticrawler_except_url" }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 anticrawler_type 是 String JS脚本反爬虫规则类型,指定防护路径:anticrawler_specific_url 排除防护路径:anticrawler_except_url
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 anticrawler_type String JS脚本反爬虫规则类型,指定防护路径:anticrawler_specific_url 排除防护路径:anticrawler_except_url 状态码: 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 错误信息
  • 请求示例 在项目id为project_id的项目中创建引用表,引用表名称为“demo”,引用表类型为“url”,值为“/124”,描述为“demo”。 POST https://{Endpoint}/v1/{project_id}/waf/valuelist?enterprise_project_id=0 { "name" : "demo", "type" : "url", "values" : [ "/124" ], "description" : "demo" }
  • 响应示例 状态码: 200 请求成功 { "id" : "e5d9032d8da64d169269175c3e4c2849", "name" : "demo", "type" : "url", "values" : [ "/124" ], "timestamp" : 1650524684892, "description" : "demo", "producer" : 1 }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 引用表名称,只能由数字、字母、中划线、下划线和英文句点组成,长度不能超过64 最小长度:2 最大长度:64 type 是 String 引用表类型,参见枚举列表 最小长度:2 最大长度:32 枚举值: url params ip cookie referer user-agent header response_code response_header response_body values 是 Array of strings 引用表的值 description 否 String 引用表描述,最长128字符 最小长度:0 最大长度:128
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 id String 引用表id name String 引用表名称 type String 引用表类型 description String 引用表描述 timestamp Long 引用表时间戳 values Array of strings 引用表的值 producer Integer 引用表来源: 1:表示来源于用户手动创建 2:表示来源于智能访问控制自动创建 状态码: 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 错误信息
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 [数组元素] Array of StatisticsTimelineItem objects 安全总览的Qps时间线统计数据 表5 StatisticsTimelineItem 参数 参数类型 描述 key String 键值,包括请求总量(ACCESS)、Bot攻击防护(CRAWLER)、攻击总量(ATTACK)、Web基础防护(WEB_ATTACK)、精准防护(PRECISE)、CC攻击防护(CC) timeline Array of TimeLineItem objects 对应键值的时间线统计数据 表6 TimeLineItem 参数 参数类型 描述 time Long 时间点 num Integer time对应时间点与前一时间点间隔内的统计数值。 状态码: 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 [ { "key" : "ACCESS", "timeline" : [ { "time" : 1650470400000, "num" : 0 } ] }, { "key" : "PRECISE", "timeline" : [ { "time" : 1650470400000, "num" : 0 } ] }, { "key" : "CRAWLER", "timeline" : [ { "time" : 1650470400000, "num" : 0 } ] }, { "key" : "CC", "timeline" : [ { "time" : 1650470400000, "num" : 0 } ] }, { "key" : "ATTACK", "timeline" : [ { "time" : 1650470400000, "num" : 0 } ] }, { "key" : "WEB_ATTACK", "timeline" : [ { "time" : 1650470400000, "num" : 0 } ] } ]
  • 请求示例 查询项目id为project_id,时间从2022-04-21 00:00:00到2022-04-21 14:35:36的安全统计qps次数。 GET https://{Endpoint}/v1/{project_id}/waf/overviews/qps/timeline?enterprise_project_id=0&from=1650470400196&to=1650522936196
  • 响应示例 状态码: 200 请求成功 { "id" : "62169e2fc4e64148b775ec01b24a1947", "name" : "demo", "level" : 2, "action" : { "category" : "log", "modulex_category" : "log" }, "options" : { "webattack" : true, "common" : true, "crawler" : true, "crawler_engine" : false, "crawler_scanner" : true, "crawler_script" : false, "crawler_other" : false, "webshell" : false, "cc" : true, "custom" : true, "precise" : false, "whiteblackip" : true, "geoip" : true, "ignore" : true, "privacy" : true, "antitamper" : true, "anticrawler" : false, "antileakage" : false, "followed_action" : false, "bot_enable" : true, "modulex_enabled" : false }, "hosts" : [ ], "extend" : { }, "timestamp" : 1649316510603, "full_detection" : false, "bind_host" : [ ] }
  • 请求示例 在项目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 表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 status Integer 规则状态,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 规则创建对象,该参数为预留参数,用于后续功能扩展,当前请用户忽略该参数 timestamp Long 创建规则时间戳 表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 错误信息
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 name 否 String 规则名称 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 规则描述 表5 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”时,请根据实际需求配置子字段且该参数必填。 表6 action 参数 是否必选 参数类型 描述 category 是 String 动作类型: captcha:人机验证,阻断后用户需要输入正确的验证码,恢复正确的访问页面。 -block:阻断。 log: 仅记录 dynamic_block: 上一个限速周期内,请求频率超过“限速频率”将被阻断,那么在下一个限速周期内,请求频率超过“放行频率”将被阻断。注:只有当cc防护规则模式为高级模式时才支持设置dynamic_block防护动作。 枚举值: captcha block log dynamic_block detail 否 detail object 阻断页面信息。当防护动作(category)选择阻断(block)或者动态阻断(dynamic_block)时,需要设置返回的阻断页面。 如果需要返回的阻断页面为系统默认的阻断页面,不需要传该参数。 如果用户想防护自定义的阻断页面,可以通过此参数设置 表7 detail 参数 是否必选 参数类型 描述 response 否 response object 返回页面 表8 response 参数 是否必选 参数类型 描述 content_type 否 String 内容类型,值可为“application/json”、“text/html”、“text/xml”。 枚举值: application/json text/html text/xml content 否 String 防护页面内容 表9 tag_condition 参数 是否必选 参数类型 描述 category 否 String 用户标识字段,其值固定为referer contents 否 Array of strings 用户标识字段内容
  • 响应示例 状态码: 200 请求成功 { "id" : "97e4d35f375f4736a21cccfad77613eb", "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d", "description" : "demo", "url" : "/demo", "category" : "cookie", "index" : "demo1" }
  • 请求示例 更新项目id为project_id,防护策略id为policy_id,规则id为rule_id的防护策略下创建隐私屏蔽防护规则列表,隐私屏蔽规则防护的ur为“/demo”,屏蔽字段为Cookie,屏蔽字段名为“demo1",规则描述为”demo“。 PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}?enterprise_project_id=0 { "url" : "/demo", "category" : "cookie", "index" : "demo1", "description" : "demo" }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 id String 规则id policyid String 策略id timestamp Long 创建规则的时间,格式为13位毫秒时间戳 status Integer 规则状态,0:关闭,1:开启 url String 隐私屏蔽规则防护的url,需要填写标准的url格式,例如/admin/xxx或者/admin/,以""号结尾代表路径前缀 category String 屏蔽字段 Params:请求参数 Cookie:根据Cookie区分的Web访问者 Header:自定义HTTP首部 Form:表单参数 枚举值: params cookie header form index 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参数 参数 是否必选 参数类型 描述 url 是 String 隐私屏蔽规则防护的url,需要填写标准的url格式,例如/admin/xxx或者/admin/,以""(星号)结尾代表路径前缀 category 是 String 屏蔽字段 Params:请求参数 Cookie:根据Cookie区分的Web访问者 Header:自定义HTTP首部 Form:表单参数 枚举值: params cookie header form index 是 String 屏蔽字段名,根据“屏蔽字段”设置字段名,被屏蔽的字段将不会出现在日志中。屏蔽字段名长度不能超过2048字节,且只能由数字、字母、下划线和中划线组成 description 否 String 规则描述,可选参数,设置该规则的备注信息。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 id String 证书id name String 证书名 timestamp Long 时间戳 expire_time Long 过期时间 bind_host Array of CertificateBundingHostBody objects 绑定域名列表 表6 CertificateBundingHostBody 参数 参数类型 描述 id String 域名id hostname String 域名 waf_type String waf模式(分为云模式:cloud,独享模式:premium) 枚举值: cloud premium 状态码: 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 { "id" : "3ac1402300374a63a05be68c641e92c8", "name" : "www.abc.com", "timestamp" : 1636343349139, "expire_time" : 1650794100000, "bind_host" : [ { "id" : "e350cf556da34adab1f017523d1c05ed", "hostname" : "www.demo.com", "waf_type" : "cloud" } ] }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 cloud_host_ids 否 Array of strings 云模式HTTPS域名id,通过查询云模式防护域名列表(ListHost)接口获取 premium_host_ids 否 Array of strings 独享模式HTTPS域名id,通过独享模式域名列表(ListPremiumHost)接口获取
共100000条