- 实例信息
- 域名配置
- 获取指定实例中已添加的域名名称列表DescribeDomainNames
- 获取已添加的域名配置信息DescribeDomain
- 添加域名配置信息CreateDomain
- 修改指定域名配置信息ModifyDomain
- 删除指定域名配置信息DeleteDomain
- 获取指定域名可选证书DescribeCertificates
- 检查域名上传的证书和私钥是否匹配DescribeCertMatchStatus
- 为已添加域名上传证书及私钥信息CreateCertificate
- 根据证书ID为指定域名创建证书CreateCertificateByCertificateId
- 获取域名配置记录的防护设置状态DescribeDomainBasicConfigs
- 获取已添加的域名配置记录的详细信息DescribeDomainAdvanceConfigs
- 查询域名资产信息DescribeDomainList
- 防护配置
- 获取域名当前的防护模式DescribeProtectionModuleMode
- 开启或关闭域名配置的IPv6安全防护功能ModifyDomainIpv6Status
- 查询WAF各防护功能状态DescribeProtectionModuleStatus
- 打开或关闭指定WAF防护功能ModifyProtectionModuleStatus
- 修改WAF防护模式ModifyProtectionModuleMode
- 查询WAF防护功能规则配置记录DescribeProtectionModuleRules
- 在WAF防护功能模块中创建配置规则CreateProtectionModuleRule
- 修改WAF防护功能配置规则ModifyProtectionModuleRule
- 启用或禁用域名配置WAF防护功能模块ModifyProtectionRuleStatus
- DescribeDomainRuleGroup
- 为域名配置防护规则组SetDomainRuleGroup
- 更新网站防篡改规则所防护的页面缓存ModifyProtectionRuleCacheStatus
- 删除防护配置模块的规则DeleteProtectionModuleRule
- 获取WAF防护功能模块代码配置DescribeProtectionModuleCodeConfig
- 分页查询正则规则组DescribeRuleGroups
- 分页查询正则规则组中的规则DescribeRules
- 日志管理
- 系统管理
- 资源相关接口
接口说明
本接口用于在指定的 WAF 防护功能模块(包括 Web 入侵防护、数据安全、高级防护、Bot 管理、访问控制或限流等模块)中创建规则配置。您可以通过设置 DefenseType 参数值指定防护功能模块配置。具体参数值的含义,请参见请求参数 DefenseType 的描述。 请注意,为了确保系统的文档性,对单用户 QPS 限制为 10 次/秒。超过限制,API 调用将会被限流,这可能影响您的业务,请合理调用。
请求参数
字段名称 | 字段详情 |
---|---|
Domainstring | 要添加防护规则配置的域名。展开详情 示例值:www.example.com参考取值来源: CreateDomain SetDomainRuleGroup DescribeDomainList |
DefenseTypestring | 要配置的防护功能模块。取值:展开详情 示例值:ac_custom |
Rulestring | 规则配置内容,以一系列参数构造的 JSON 格式转化成字符串。展开详情 示例值: {"action":"monitor","name":"test","scene":"custom_acl","conditions":[{"opCode":1,"key":"URL","values":"/example"}]} |
InstanceIdstring | WAF 实例 ID。展开详情 示例值:waf-cn-0xldbqt****参考取值来源: DescribeInstanceInfo |
ResourceGroupIdstring | WAF 实例在资源管理服务中所属的资源组 ID。默认为空,即属于默认资源组。展开详情 示例值:rg-atstuj3rtop**** |
RegionIdstring | WAF 实例所属地域。取值:展开详情 示例值:cn-hangzhou |
请求说明
Rule 参数具体说明
-
规则防护引擎解码设置(waf-codec)对应的 JSON 字符串中包含以下参数:
-
codecList:Array 类型 | 必选 | 启用的解码配置项。您可在 Web 应用防火墙控制台中查看该参数支持填写的参数值。
-
示例
{ "codecList":["url","base64"] }
-
-
网站防篡改规则配置(tamperproof)对应的 JSON 字符串中包含以下参数:
-
uri:String 类型 | 必选 | 所需防护的具体 URL。
-
name:String 类型 | 必选 | 规则名称。
-
示例
{ "name":"example", "uri":"http://www.aliyundoc.com/example" }
-
-
防敏感信息泄露规则配置(dlp)对应的 JSON 字符串中包含以下参数:
-
name:String 类型 | 必选 | 规则名称。
-
conditions:Array 类型 | 必选 | 以 JSON 字符串格式描述匹配条件,支持设置最多两条匹配条件且条件间的关系为并且。其中包含以下具体参数:
-
key:匹配项。取值:
- 0:表示防护的 URL。
- 10:表示敏感信息。
- 11:表示响应码。
说明 您无法在 conditions 参数中同时为响应码(11)和敏感信息(10)设置匹配条件。 -
operation:匹配逻辑。取值固定为 1,表示包含。
-
value:以 JSON 字符串描述匹配条件值,支持填写多个条件值。其中包含以下具体参数:
- v:仅适用于匹配项(key)为 URL(0)或响应码(11)的场景。
- URL:当
"key":0
时,参数值为 URL 地址。 - 响应码:当
"key":11
,参数取值范围包括 400、401、402、403、404、405-499、500、501、502、503、504、505-599。
- URL:当
- k:仅适用于匹配项(key)为敏感信息(10)的场景。取值范围:
- 100:表示身份证。
- 101:表示信用卡。
- 102:表示电话号码。
- 103:表示默认敏感词。
- v:仅适用于匹配项(key)为 URL(0)或响应码(11)的场景。
-
-
action:匹配动作。取值:
- 3:表示告警。
- 10:表示敏感信息过滤,该动作仅适用于包含敏感信息(
"key":10
)的匹配条件场景。 - 11:表示返回系统内置拦截页面,该动作仅适用于包含响应码(
"key":11
)的匹配条件场景。
-
示例
{ "name":"example", "conditions":[{"key":11,"operation":1,"value":[{"v":401}]},{"key":"0","operation":1,"value":[{"v":"www.aliyundoc.com"}]}], "action":3 }
-
-
账户安全规则配置(ng_account)对应的 JSON 字符串中包含以下参数:
-
url_path:String 类型 | 必选 | 检测接口,以 URL 路径表示,必须以正斜线(/)开头。
-
method:String 类型 | 必选 | 检测的请求方式,包括 POST、GET、PUT、DELETE。支持设定多个请求方式,以英文逗号(,)分隔。
-
account_left:String 类型 | 必选 | 账号参数名。
-
password_left:String 类型 | 可选 | 密码参数名。
-
action:String 类型 | 必选 | 防护动作。取值:
- monitor:表示预警。
- block:表示拦截。
-
示例
{ "url_path":"/example", "method":"POST,GET,PUT,DELETE", "account_left":"aaa", "password_left:"123", "action":"monitor" }
-
-
数据风控防护请求配置(antifraud)对应的 JSON 字符串中包含以下参数:
-
uri:String 类型 | 必选 | 具体的防护请求 URL。
-
示例
{ "uri": "http://1.example.com/example" }
-
-
数据风控 JS 插入页面配置(antifraud_js)对应的 JSON 字符串中包含以下参数:
-
uri:String 类型 | 必选 | 需要插入数据风控 JS 页面的 URL,系统将为所指定的 URL 路径下的所有页面插入数据风控 JS,必须以正斜线(/)开头。
-
示例
{ "uri": "/example/example" }
-
-
Bot 管理的智能算法规则配置(bot_algorithm)对应的 JSON 字符串中包含以下参数:
- name:String 类型 | 必选 | 规则名称。
- algorithmName:String 类型 | 必选 | 算法名称。取值:
- RR:表示专项资源爬虫识别算法。
- PR:表示定向路径爬虫识别算法。
- DPR:表示参数轮询爬虫识别算法。
- SR:表示动态 IP 爬虫识别算法。
- IND:表示代理设备爬虫识别算法。
- Periodicity:表示周期性爬虫识别算法。
- timeInterval:Integer 类型 | 必选 | 检测周期。取值:30、60、120、300、600,单位:秒。
- action:String 类型 | 必选 | 处置动作。取值:
- monitor:表示观察。
- captcha:表示滑块。
- js:表示 JavaScript 校验。
- block:表示阻断。选择阻断作为处置动作时,必须传入阻断时长(blocktime)参数。
- blocktime:Integer 类型 | 可选 | 阻断时长。单位:分钟。取值范围:1~600。
- config:String 类型 | 必选 | 算法配置信息,以 JSON 字符串格式表示。算法配置信息中的具体子参数与所选择的算法名称(algorithmName)相关。
- 专项资源爬虫识别算法(RR)对应的配置信息应包含以下子参数:
- resourceType:Integer 类型 | 可选 | 请求的资源类型。取值:
- 1:表示动态资源类型。
- 2:表示静态资源类型。
- -1:表示自定义资源类型。选择自定义资源组时,需要再传入 extensions 参数,以字符串格式指定具体的资源后缀名,多个后缀名间以英文逗号(,)分隔,例如
css,jpg,xls
。
- minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。
- minRatio:Float 类型 | 必选 | 风险判定条件,即 IP 访问请求中访问指定资源类型的占比阈值(对应专项资源爬虫识别算法)或 IP 访问请求中访问指定路径的占比阈值(对应定向路径爬虫识别算法),超过阈值后判定为风险。取值范围:0.01~1。
- resourceType:Integer 类型 | 可选 | 请求的资源类型。取值:
- 定向路径爬虫识别算法(PR)对应的配置信息应包含以下子参数:
- keyPathConfiguration:Array 类型 | 可选 | 请求的路径信息,支持指定最多 10 条路径,只在使用定向路径爬虫识别算法时需传入该子参数。以 JSON 字符串格式表示,具体包含以下参数:
- method:String 类型 | 必选 | 请求方法。取值:POST、GET、PUT、DELETE、HEAD、OPTIONS。
- url:String 类型 | 必选 | 请求路径关键字,必须以正斜线(/)开头。
- matchType:String 类型 | 必选 | 匹配方式,与请求路径关键字(url)参数结合指定请求路径。取值:all(精准匹配)、prefix(前缀匹配)、regex(正则匹配)。
- minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。
- minRatio:Float 类型 | 必选 | 风险判定条件,即 IP 访问请求中访问指定资源类型的占比阈值(对应专项资源爬虫识别算法)或 IP 访问请求中访问指定路径的占比阈值(对应定向路径爬虫识别算法),超过阈值后判定为风险。取值范围:0.01~1。
- keyPathConfiguration:Array 类型 | 可选 | 请求的路径信息,支持指定最多 10 条路径,只在使用定向路径爬虫识别算法时需传入该子参数。以 JSON 字符串格式表示,具体包含以下参数:
- 参数轮询爬虫识别算法(DPR)对应的配置信息应包含以下子参数:
- method:String 类型 | 必选 | 请求方法。取值:POST、GET、PUT、DELETE、HEAD、OPTIONS。
- urlPattern:String 类型 | 必选 | 关键参数路径,必须以正斜线(/)开头。用{}表示关键参数,配置多个{}时将拼接这些参数作为关键参数。例如,
/company/{}/{}/{}/user.php?uid={}
。 - minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。
- minRatio:Float 类型 | 必选 | 风险判定条件,即 IP 访问请求中不同关键参数值的计数占比阈值,超过阈值后判定为风险。取值范围:0.01~1。
- 动态 IP 爬虫识别算法(SR)对应的配置信息应包含以下子参数:
- maxRequestCountPerSrSession:Integer 类型 | 必选 | 通过设定每个会话中存在的最小请求次数定义异常会话,即单个会话中的请求次数小于该值即判定为异常会话。取值范围:1~8。
- minSrSessionCountPerIp:Integer 类型 | 必选 | 风险判定条件,即 IP 访问请求中存在的异常会话数量阈值,单个 IP 访问请求中的异常会话次数超过该值后判定为风险。取值范围:5~300。
- 代理设备爬虫识别算法(IND)对应的配置信息应包含以下子参数:
- minIpCount:Integer 类型 | 必选 | 恶意设备判定条件,即设备使用 WIFI 关联的 IP 变换个数阈值,超过该阈值后判定为风险。取值范围:5~500。
- keyPathConfiguration:Array 类型 | 可选 | 检测路径信息,支持指定最多 10 条路径。以 JSON 字符串格式表示,具体包含以下参数:
- method:String 类型 | 必选 | 请求方法。取值:POST、GET、PUT、DELETE、HEAD、OPTIONS。
- url:String 类型 | 必选 | 检测路径关键字,必须以正斜线(/)开头。
- matchType:String 类型 | 必选 | 匹配方式,与检测路径关键字(url)参数结合指定请求路径。取值:all(精准匹配)、prefix(前缀匹配)、regex(正则匹配)。
- 周期性爬虫识别算法(Periodicity)对应的配置信息应包含以下子参数:
- minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。
- level:Integer 类型 | 必选 | 风险判定等级,即访问 IP 的周期性特征的明显程度。取值:
- 0:表示明显。
- 1:表示中等。
- 2:表示较弱。
- 专项资源爬虫识别算法(RR)对应的配置信息应包含以下子参数:
- 示例
{ "name":"代理设备爬虫识别", "algorithmName":"IND", "timeInterval":"60", "action":"monitor", "config":{ "minIpCount":5, "keyPathConfiguration":[{"url":"/index","method":"GET","matchType":"prefix"}] } }
-
App 防护的版本防护规则配置(bot_wxbb_pkg)对应的 JSON 字符串中包含以下参数:
-
name:String 类型 | 必选 | 规则名称。
-
action:String 类型 | 必选 | 处置动作。取值:
- test:表示观察。
- close:表示阻断。
-
nameList:Array 类型 | 必选 | 合法版本信息,最多指定五条规则。以 JSON 字符串方式表示,具体包含以下参数:
- name:String 类型 | 必选 | 合法包名称。
- signList:Array 类型 | 必选 | 对应的包签名,最多填写 15 个,以英文逗号(,)分隔。
-
示例
{ "name":"test", "action":"close", "nameList":[{ "name":"apk-xxxx", "signList":["xxxxxx","xxxxx","xxxx","xx"] }] }
-
-
App 防护的路径防护规则配置(bot_wxbb)对应的 JSON 字符串中包含以下参数:
-
name:String 类型 | 必选 | 规则名称。
-
uri:String 类型 | 必选 | 防护路径,必须以正斜线(/)开头。
-
matchType:String 类型 | 必选 | 匹配方式。取值:all(精准匹配)、prefix(前缀匹配)、regex(正则匹配)。
-
arg:String 类型 | 必选 | 参数包含,与匹配方式(matchType)参数结合指定防护路径配置。
-
action:String 类型 | 必选 | 处置动作。取值:
- test:表示观察。
- close:表示阻断。
-
hasTag:Boolean 类型 | 必选 | 是否需要自定义加签字段。
- true:表示是。选择需要自定义加签字段时,需传入 wxbbVmpFieldType 和 wxbbVmpFieldValue 参数指定加签字段的类型和对应值。
- false:表示否。
-
wxbbVmpFieldType:Integer 类型 | 可选 | 自定义加签字段类型。当 hasTag 参数值为 true 时,必须传入参数。取值:
- 0:表示 header。
- 1:表示参数。
- 2:表示 cookie。
-
wxbbVmpFieldValue:String 类型 | 可选 | 自定义加签字段值。当 hasTag 参数值为 true 时,必须传入参数。
-
blockInvalidSign:Integer 类型 | 必选 | 是否对非法签名执行处置动作,固定值 1。路径防护规则的默认防护策略。
-
blockProxy:Integer 类型 | 可选 | 是否对代理执行处置动作,固定值 1。如果无需对代理行为执行处置动作时无需传入该参数。
-
blockSimulator:Integer 类型 | 可选 | 是否对模拟器执行处置动作,固定值 1。如果无需对模拟器行为执行处置动作时无需传入该参数。
-
示例
{ "name":"test", "uri":"/index", "matchType":"all", "arg":"test", "action":"close", "hasTag":true, "wxbbVmpFieldType":2, "wxbbVmpFieldValue":"test", "blockInvalidSign":1, "blockProxy":1 }
-
-
自定义防护策略规则配置(ac_custom),通过其对应的 JSON 字符串中的 scene 参数来设置 ACL 访问控制规则和 CC 攻击防护规则。
-
设置 ACL 访问控制规则(scene 参数值为custom_acl),其对应的 JSON 字符串中包含以下参数:
-
name:String 类型 | 必选 | 规则名称。
-
scene:String 类型 | 必选 | 防护类型。设置 ACL 访问控制规则时。取值固定为custom_acl。
-
action:String 类型 | 必选 | 处置动作。取值:
- monitor:表示观察。
- captcha:表示滑块。
- captcha_strict:表示严格滑块。
- js:表示 JS 验证。
- block:表示阻断。
-
conditions:Array 类型 | 必选 | 匹配条件,支持填写最多五个匹配条件。以 JSON 字符串格式进行描述,具体包含以下参数:
-
key:匹配字段。取值范围:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
-
opCode:逻辑符。取值:
说明 并不是每一个自定义规则的匹配字段(key)都能对应配置全部的逻辑符(opcode)。关于不同匹配字段支持使用的逻辑符,请以 WAF 控制台自定义规则中匹配字段和逻辑符的关联关系为准。- **11**:表示等于。 - **10**:表示不等于。 - **41**:表示等于多值之一。 - **50**:表示不等于任一值。 - **1**:表示包含。 - **0**:表示不包含。 - **51**:表示包含多值之一。 - **52**:表示不包含任一值。 - **82**:表示存在。 - **2**:表示不存在。 - **21**:表示长度等于。 - **22**:表示长度大于。 - **20**:表示长度小于。 - **60**:表示正则不匹配。 - **61**:表示正则匹配。 - **72**:表示前缀匹配。 - **81**:表示后缀匹配。 - **80**:表示内容为空。
-
values:匹配内容。根据需要填写相应的内容,以 String 类型表示。
说明 匹配条件参数中的逻辑符(opCode)、匹配内容(values)参数取值范围与所指定的匹配字段(key)相关。关于支持的匹配条件配置详细信息,请参见匹配条件字段说明。 -
-
示例
{ "action":"monitor", "name":"test", "scene":"custom_acl", "conditions":[{"opCode":1,"key":"URL","values":"/example"}] }
-
-
设置 CC 攻击防护规则(scene 参数值为custom_cc),对应的 JSON 字符串中包含以下参数:
-
name:String 类型 | 必选 | 规则名称。
-
scene:String 类型 | 必选 | 防护类型。设置 CC 攻击防护规则时,固定为custom_cc。
-
conditions:Array 类型 | 必选 | 匹配条件,支持填写最多五个匹配条件。以 JSON 字符串格式进行描述,具体包含以下参数:
-
key:匹配字段。取值范围:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
-
opCode:逻辑符。取值:
说明 并不是每一个自定义规则的匹配字段(key)都能对应配置全部的逻辑符(opcode)。关于不同匹配字段支持使用的逻辑符,请以 WAF 控制台自定义规则中匹配字段和逻辑符的关联关系为准。- **11**:表示等于。 - **10**:表示不等于。 - **41**:表示等于多值之一。 - **50**:表示不等于任一值。 - **1**:表示包含。 - **0**:表示不包含。 - **51**:表示包含多值之一。 - **52**:表示不包含任一值。 - **82**:表示存在。 - **2**:表示不存在。 - **21**:表示长度等于。 - **22**:表示长度大于。 - **20**:表示长度小于。 - **60**:表示正则不匹配。 - **61**:表示正则匹配。 - **72**:表示前缀匹配。 - **81**:表示后缀匹配。 - **80**:表示内容为空。
-
values:匹配内容。根据需要填写相应的内容,以 String 类型表示。
说明 匹配条件参数中的逻辑符(opCode)、匹配内容(values)参数取值范围与所指定的匹配字段(key)相关。 -
-
action:String 类型 | 必选 | 处置动作。取值:
- monitor:表示观察。
- captcha:表示滑块。
- captcha_strict:表示严格滑块。
- js:表示 JS 验证。
- block:表示阻断。
-
ratelimit:JSON 格式 | 必选 | 频率设置。以 JSON 字符串格式进行描述,具体包含以下参数:
- target:String 类型 | 必选 | 统计对象类型。取值:
- remote_addr:表示 IP。
- cookie.acw_tc:表示 Session。
- queryarg:表示自定义参数。选择自定义参数时,必须在 subkey 参数中填写需要统计的自定义参数名称。
- cookie:表示自定义 cookie。选择自定义 cookie 时,必选在 subkey 参数中填写需要统计的 cookie 内容。
- header:表示自定义 header。选择自定义 header 时,必选在 subkey 参数中填写需要统计的 header 内容。
- subkey:String 类型 | 可选 | 当 target 参数值为 cookie、header 或 queryarg 时,必选在 subkey 参数中填写对应的信息。
- interval: Integer 类型 | 必选 | 统计时长(单位:秒),即访问次数的统计周期,与阈值(threshold)参数配合。
- threshold:Integer 类型 | 必选 | 在检测时长内,允许单个统计对象访问被防护地址的次数阈值。
- status:JSON 格式 | 可选 | 响应码频率设置。以 JSON 字符串格式进行描述,具体包含以下参数:
- code:Integer 类型 | 必选 | 指定响应码。
- count:Integer 类型 | 可选 | 出现次数阈值,即表示当指定的响应码出现次数超过该阈值时命中防护规则。取值范围:1~999999999。count 参数与 ratio 参数两者选其一,不可同时配置。
- ratio:Integer 类型 | 可选 | 出现比例阈值(百分比),即表示当指定的响应码出现比例超过该阈值时命中防护规则。取值范围:1~100。count 参数与 ratio 参数两者选其一,不可同时配置。
- scope:String 类型 | 必选 | 生效范围。取值:
- rule:表示当前特征匹配范围内。
- domain:表示当前规则作用的域名范围内。
- ttl:Integer 类型 | 必选 | 处置动作的生效时长(单位:秒)。取值范围:60~86400。
- target:String 类型 | 必选 | 统计对象类型。取值:
-
示例
{ "name":"CC 防护", "conditions":[{"opCode":1,"key":"URL","values":"/example"}], "action":"block", "scene":"custom_cc", "ratelimit":{ "target": "remote_addr", "interval": 300, "threshold": 2000, "status": { "code": 404, "count": 200 }, "scope": "rule", "ttl": 1800 } }
-
-
-
网站白名单规则配置(whitelist)对应的 JSON 字符串中包含以下参数:
-
name:String 类型 | 必选 | 规则名称。
-
tags:Array 类型 | 必选 | 不检测模块。不同类型的白名单规则支持设置的不检测模块(tags)不同,具体说明如下:
说明 tags 的取值只能包含具体白名单类型下罗列的取值。例如,tags 取值不允许同时包含 regular 和 cc,因为 regular 属于 Web 入侵防护白名单下的取值、cc 属于访问控制/限流白名单下的取值。-
如需设置全局白名单,tags 取值:
- waf:表示不检测所有防护模块。
-
如需设置 Web 入侵防护白名单,tags 取值(可设置多个):
- regular:表示不检测规则防护引擎(包含所有防护规则)。
- regular_rule:表示不检测规则防护引擎中的指定防护规则(如选择该取值,必须通过 regularRules 参数设置不检测的规则 ID)。
- regular_type:表示不检测规则防护引擎中指定类型的防护规则(如选择该取值,必须通过 regularTypes 参数设置不检测的规则类型)。
- deeplearning:表示不检测深度学习引擎。
-
如需设置访问控制/限流白名单,tags 取值(可设置多个):
- cc:表示不检测 CC 安全防护模块。
- customrule:表示不检测自定义防护策略。
- blacklist:表示不检测 IP 黑名单模块。
- antiscan:表示不检测扫描防护模块。
-
如需设置数据安全白名单,tags 取值(可设置多个):
- dlp:表示不检测防敏感信息泄露模块。
- tamperproof:表示不检测网站防篡改模块。
- account:表示不检测账户安全模块。
-
如需设置 Bot 防护白名单,tags 取值(可设置多个):
- bot_intelligence:表示不检测爬虫威胁情报模块。
- bot_algorithm:表示不检测典型爬虫行为识别模块。
- bot_wxbb:表示不检测 App 防护模块。
- antifraud:表示不检测数据风控模块。
-
-
regularRules:Array 类型 | 可选 | 不检测的防护规则 ID 列表。如果 tags 参数的取值中包含regular_rule,必须填写该参数。您可以在 WAF 控制台的防护规则组页面,通过新建规则组,查询 WAF 包含的所有 Web 攻击防护规则,获取相关规则的 ID。具体操作,请参见自定义防护规则组。
-
regularTypes:Array 类型 | 可选 | 不检测的防护规则类型列表。如果 tags 参数取值中包含regular_type,必须填写该参数。取值:
- sqli: 表示 SQL 注入。
- xss: 表示跨站脚本。
- code_exec: 表示代码执行。
- lfilei: 表示本地文件包含。
- rfilei: 表示远程文件包含。
- webshell: 表示 WebShell。
- vvip: 表示定制的防护规则。
- other: 表示其他类型。
-
conditions:Array 类型 | 必选 | 匹配条件,支持填写最多五个匹配条件。以 JSON 字符串格式进行描述,具体包含以下参数:
-
key:匹配字段。取值范围:URL、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header、URLPath。
-
opCode:逻辑符。取值:
说明 并不是每一个自定义规则的匹配字段(key)都能对应配置全部的逻辑符(opcode)。关于不同匹配字段支持使用的逻辑符,请以 WAF 控制台自定义规则中匹配字段和逻辑符的关联关系为准。- **11**:表示等于。 - **10**:表示不等于。 - **41**:表示等于多值之一。 - **50**:表示不等于任一值。 - **1**:表示包含或属于。 - **0**:表示不包含或不属于。 - **51**:表示包含多值之一。 - **52**:表示不包含任一值。 - **82**:表示存在。 - **2**:表示不存在。 - **21**:表示长度等于。 - **22**:表示长度大于。 - **20**:表示长度小于。 - **60**:表示正则不匹配。 - **61**:表示正则匹配。 - **72**:表示前缀匹配。 - **81**:表示后缀匹配。 - **80**:表示内容为空。 - **30**:表示值小于。 - **31**:表示值大于。
-
values:匹配内容。根据需要填写相应的内容,以 String 类型表示。
-
说明 匹配条件参数中的逻辑符(opCode)、匹配内容(values)参数取值范围与所指定的匹配字段(key)相关。- 示例
{ "name": "test", "tags": ["cc","customrule"], "conditions":[{"opCode":1,"key":"URL","values":"/example"}], }
-
调用 API 时,除了本文中该 API 的请求参数,还需加入阿里云 API 公共请求参数。公共请求参数的详细介绍,请参见公共参数。
调用 API 的请求格式,请参见本文示例中的请求示例。
返回参数
字段名称 | 字段详情 |
---|---|
RequestIdstring | 本次请求的 ID。 示例值:D7861F61-5B61-46CE-A47C-6B19****5EB0 |