CreateProtectionModuleRule
在指定的WAF防护功能模块创建配置规则,如Web入侵防护、数据安全、高级防护、Bot、访问控制、限流
服务地址:
华东1(杭州)
输入参数
只看必填
Domain要添加防护规则配置的域名
DefenseType要配置的防护功能模块
Rule规则配置内容
InstanceIdWAF实例ID
ResourceGroupIdWAF实例在资源管理服务中所属的资源组ID
RegionIdWAF实例所属地域
插件下载了解更多
VS Code 插件
安装插件之前,确保已安装 VS Code安装插件之前,确保已安装 VS Code
Alibaba Cloud Developer Toolkit is a collection of extensions that can help access Alibaba Cloud services in Visual Studio Code.
JetBrains 插件
安装插件之前,确保已安装 JetBrains IDE安装插件之前,确保已安装 JetBrains IDE
The Alibaba Cloud Developer Toolkit for JetBrains makes it easier to access Alibaba Cloud services.

接口说明

本接口用于在指定的 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,参数取值范围包括 400401402403404405-499500501502503504505-599
        • k:仅适用于匹配项(key)为敏感信息(10)的场景。取值范围:
          • 100:表示身份证。
          • 101:表示信用卡。
          • 102:表示电话号码。
          • 103:表示默认敏感词。
    • 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。
      • 定向路径爬虫识别算法(PR)对应的配置信息应包含以下子参数:
        • keyPathConfiguration:Array 类型 | 可选 | 请求的路径信息,支持指定最多 10 条路径,只在使用定向路径爬虫识别算法时需传入该子参数。以 JSON 字符串格式表示,具体包含以下参数:
          • method:String 类型 | 必选 | 请求方法。取值:POSTGETPUTDELETEHEADOPTIONS
          • url:String 类型 | 必选 | 请求路径关键字,必须以正斜线(/)开头。
          • matchType:String 类型 | 必选 | 匹配方式,与请求路径关键字(url)参数结合指定请求路径。取值:all(精准匹配)、prefix(前缀匹配)、regex(正则匹配)。
        • minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。
        • minRatio:Float 类型 | 必选 | 风险判定条件,即 IP 访问请求中访问指定资源类型的占比阈值(对应专项资源爬虫识别算法)或 IP 访问请求中访问指定路径的占比阈值(对应定向路径爬虫识别算法),超过阈值后判定为风险。取值范围:0.01~1。
      • 参数轮询爬虫识别算法(DPR)对应的配置信息应包含以下子参数:
        • method:String 类型 | 必选 | 请求方法。取值:POSTGETPUTDELETEHEADOPTIONS
        • 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 类型 | 必选 | 请求方法。取值:POSTGETPUTDELETEHEADOPTIONS
          • url:String 类型 | 必选 | 检测路径关键字,必须以正斜线(/)开头。
          • matchType:String 类型 | 必选 | 匹配方式,与检测路径关键字(url)参数结合指定请求路径。取值:all(精准匹配)、prefix(前缀匹配)、regex(正则匹配)。
      • 周期性爬虫识别算法(Periodicity)对应的配置信息应包含以下子参数:
        • minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。
        • level:Integer 类型 | 必选 | 风险判定等级,即访问 IP 的周期性特征的明显程度。取值:
          • 0:表示明显。
          • 1:表示中等。
          • 2:表示较弱。
    • 示例
    {
        "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:表示是。选择需要自定义加签字段时,需传入 wxbbVmpFieldTypewxbbVmpFieldValue 参数指定加签字段的类型和对应值。
      • 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:匹配字段。取值范围:URLIPRefererUser-AgentParamsCookieContent-TypeContent-LengthX-Forwarded-ForPost-BodyHttp-MethodHeaderURLPath

        • 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:匹配字段。取值范围:URLIPRefererUser-AgentParamsCookieContent-TypeContent-LengthX-Forwarded-ForPost-BodyHttp-MethodHeaderURLPath

        • 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 参数值为 cookieheaderqueryarg 时,必选在 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。
      • 示例

      {
          "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 取值不允许同时包含 regularcc,因为 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:匹配字段。取值范围:URLIPRefererUser-AgentParamsCookieContent-TypeContent-LengthX-Forwarded-ForPost-BodyHttp-MethodHeaderURLPath

      • 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
变更历史
暂无变更历史