调用BatchCreateDcdnWafRules设置WAF防护规则。

说明 单用户调用频率:20次/秒。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String BatchCreateDcdnWafRules

系统规定参数。取值:BatchCreateDcdnWafRules

PolicyId Long 1000001

防护策略ID。

RuleConfigs String {"name":"ttttt","action":"monitor","conditions":[{"key":"URL","opValue":"match-one","values":"1,2,3,4,5"},{"key":"Header","opValue":"contain-one","subKey":"testheader","values":"6,7,8,9,10"}],"ratelimit":{"target":"header","interval":10,"threshold":5,"ttl":1800,"subKey":"testheadercc","status":{"code":"502","count":5}},"ccStatus":"on","effect":"rule","status":"on"}

防护规则配置。

RuleConfigs取值说明

  • RuleConfigs为列表切片,其中每个结构体代表一条规则。
  • 根据PolicyId对应的防护策略类型不同,RuleConfigs的格式也不同。

防护场景1:Web正则防护(waf_group)

参数

类型

必要

示例值

描述

status

String

on

防护规则开关,取值:on(开启),off(关闭)。默认为on。

action

String

block

规则动作,取值:block(拦截),monitor(观察)。

waf_group配置示例:


// Web正则防护目前仅支持一条策略下配置一条规则。
[
  {
    "status": "on",
    "action": "block"
  }
]

防护场景2:自定义规则(custom_acl)

名称

类型

是否必选

示例值

描述

name

string

acl_1

防护规则名称,支持输入英文字符(大小写)、数字(0~9)及下划线(_),最大输入64个字符。

status

string

on

取值:on(开启),off(关闭)。默认为on。

conditions

Condition

[ {"key": "URI", "subKey": "","opValue": "contain", "values": "/login.php" }]

触发规则条件,具体参数请参考表1 Condition参数说明

ccStatus

string

off

频次控制开关,on(开启),off(关闭)。

rateLimit

RateLimit

{ "target": "Header", "subKey": "User-Agent", "interval": 5, "threshold": 2, "ttl": 1800}

具体的频次控制规则,当ccStatus为on时必填。具体参数请参考表2 RateLimit参数说明

effect

string

service

频次控制黑名单的生效范围,当ccStatus为on时必填,取值:rule(当前规则生效),service(全局生效)。

action

string

deny

规则动作,取值:deny(拦截)、js(JS验证)、monitor(观察)。

表1 Condition参数说明

名称

类型

是否必选

示例值

描述

Key

string

Query String Parameter

匹配字段,具体请参考DescribeDcdnWafFilterInfo

subKey

string

action

匹配子字段,具体请参考DescribeDcdnWafFilterInfo

opValue

String

eq

逻辑符,具体请参考DescribeDcdnWafFilterInfo

values

String

js

匹配内容,多值使用英文逗号(,)分隔,具体值参考DescribeDcdnWafFilterInfo

表2 RateLimit参数说明

名称

类型

是否必选

示例值

描述

target

string

Header

频次控制的统计字段,取值:IP:表示统计同一个IP发起请求的频率。Header:表示统计包含指定Header的请求的频率。Query String Parameter:表示统计包含指定参数的请求的频率。Cookie Name:表示统计包含指定Cookie的请求的频率。Session:表示统计来自同一个会话发起请求的频率。

subKey

string

User-Agent

统一字段的子字段,当target为Header、Query String Parameter或Cookie Name时必填。

Interval

Integer

5

统计时长。取值范围:5~1800。单位:秒。

threshold

Integer

2

统计阈值。取值范围:2~500000。单位:次。

ttl

Integer

1800

黑名单超时时间。取值范围:60~86400。单位:秒。

status

RateLimitStatus

{"code": "404", "ratio": 10}

响应码统计。具体参数请参考表3 RateLimitStatus参数说明

表3 RateLimitStatus参数说明

名称

类型

是否必选

示例值

描述

codet

string

404

HTTP状态码。

ratio

Integer

10

按比例(%)统计。取值:1~100,与count字段二选一。

count

Integer

10

按数量统计。取值:2~50000,与ratio字段二选一。

custom_acl配置示例:


[
  // 访问控制
  {
    "name": "acl_1",
    "status": "off",
    "conditions":
    [
      {
        "key": "Query String Parameter",
        "subKey": "action",
        "opValue": "eq",
        "values": "js"
      }
    ],
    "ccStatus": "off",
    "action": "js"
  },
  // 频次控制
  {
    "name": "cc_1",
    "status": "on",
  	"conditions": 
    [
      {
        "key": "URI",
        "subKey": "",
        "opValue": "contain",
        "values": "/login.php"
      },
      {
        "key": "IP",
        "subKey": "",
        "opValue": "ip-contain",
        "values": "192.168.0.1/24"
      }
    ],
    "ccStatus": "on",
    "ratelimit":
    {
      "target": "Header",
      "subKey": "User-Agent",
      "interval": 5,
      "threshold": 2,
      "ttl": 1800,
      "status":
      {
        "code": "404",
        "ratio": 10
      }
    },
    "effect": "service",
    "action": "deny"
  }
]

防护场景3:白名单(whitelist)

名称

类型

是否必选

示例值

描述

name

string

on

防护规则名称,支持输入英文字符(大小写)、数字(0~9)及下划线(_),最大输入64个字符。

status

string

on

防护规则开关,取值:on(默认):开启。off:关闭。

conditions

Condition

[{ "key": "Http-Method","subKey": "","opValue": "match-one", "values": "GET,POST,DELETE" }]

触发规则的条件。具体参数请参考表1 Condition参数说明

tags

String

[ "waf_group", "custom_acl"]

防护策略类型列表。

regularTypes

String

[ [ "sqli", "xss","code_exec", "crlf", "lfilei", "rfilei", "webshell","vvip", "other"]

正则规则类型,当tags中出现waf_group时,此值可填,可选值:["sqli", "xss", "code_exec", "crlf", "lfilei", "rfilei", "webshell", "vvip", "other"]。

regularRules

String

[ "100001", "100002", "100003"]

正则规则,当tags中出现waf_group时,此值可填,且与regularTypes只能出现一个,值为字符串格式的六位数字组成的列表。

whitelist配置示例:


[
  // 跳过全部场景
  {
    "name": "wl_all",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "waf_group",
      "custom_acl",
      "ip_blacklist",
      "region_block"
    ]
  },
  // 跳过waf_group的指定规则id
  {
    "name": "wl_waf_id",
    "status": "off",
    "conditions":
    [
      {
        "key": "Cookie Name",
        "subKey": "cdn-sec",
        "opValue": "prefix-match",
        "values": "a7sdsa9dsa8d8sa"
      },
      {
        "key": "Referer",
        "subKey": "",
        "opValue": "none",
        "values": ""
      }
    ],
    "tags":
    [
      "waf_group"
    ],
    "regularRules":
    [
      "100001",
      "100002",
      "100003"
    ]
  },
  {
  // 跳过waf_group的指定规则类型
    "name": "wl_waf_type",
    "status": "on",
    "conditions":
    [
      {
        "key": "Query String",
        "subKey": "",
        "opValue": "exists",
        "values": ""
      }
    ],
    "tags":
    [
      "waf_group"
    ],
    "regularTypes":
    [
      "sqli",
      "xss",
      "code_exec",
      "crlf",
      "lfilei",
      "rfilei",
      "webshell",
      "vvip",
      "other"
    ]
  },
  // 跳过自定义规则
  {
    "name": "wl_custom_acl",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "custom_acl"
    ]
  },
  // 跳过IP黑名单
  {
    "name": "wl_ip_blacklist",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "ip_blacklist"
    ]
  },
  // 跳过区域封禁
  {
    "name": "wl_region_block",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "region_block"
    ]
  }
]

防护场景4:IP黑名单(ip_blacklist)

名称

类型

是否必选

示例值

描述

name

string

ipblacklist

防护规则名称,支持输入英文字符(大小写)、数字(0~9)及下划线(_),最大输入64个字符。

status

string

on

防护规则开关,取值:取值:on(开启),off(关闭)。默认为on。

remoteAddr

[]String

["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"]

按IP地址过滤,具体请参见DescribeDcdnWafFilterInfo

action

string

deny

规则动作,取值:deny(拦截),monitor(观察)。

ipblacklist配置示例:


[
    {
    "name": "ipblacklist",
    "status": "on",
    "remoteAddr": ["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"],
    "action": "deny"
  }
]

防护场景5:区域封禁(region_block)

名称

类型

是否必选

示例值

描述

status

string

on

防护规则开关,取值:on(开启),off(关闭)。默认为on。

cnRegionList

string

110000,TW,MO

中国境内封禁区域,逗号分隔。支持封禁的地区请参见DescribeDcdnWafGeoInfo

otherRegionList

string

JP,GB

中国境外封禁区域,逗号分隔。支持封禁的地区请参见DescribeDcdnWafGeoInfo

action

string

deny

规则动作,取值:deny(拦截),monitor(观察)。

说明 cnRegionList和otherRegionList至少填写其中一个。

region_block配置示例:


[
    {
    "status": "on",
    "cnRegionList": "110000,TW,MO",
    "otherRegionList": "JP,GB",
    "action": "deny"
  }
]

防护场景6:Bot管理(bot)

规则模板

所有的规则参数都是以下四个,具体值参见具体规则分类。

参数

类型

必要

描述

type

String

规则类型,参见具体规则分类。

status

String

规则状态,取值:on(开启),off(关闭)。

config

TargetType

规则配置,参见具体规则分类。

action

String

规则动作,参见具体规则分类。

规则分类一:防护目标类型

参数

类型

必要

示例值

描述

type

String

target_type

规则类型,取值:target_type。

status

String

on

规则开关,取值:on(开启)。

config

TargetType

{"target":"app"}

规则配置。格式如下:

target:防护目标类型,必填。取值范围包含web(网页/浏览器)和app(APP)。

action

String

置空

规则动作,此处不涉及,置为空值。

防护目标类型配置示例:


[
  {
    "type":"target_type",
    "status":"on",
    "config":{"target":"app"},
    "action":""
  }
]
规则分类二:Web SDK集成

参数

类型

必要

示例值

描述

type

String

web_sdk

规则类型,取值:web_sdk。

status

String

on

规则开关,取值:on(开启)。

config

WebSdk

{"mode":"automatic","crossDomain":"example.com"}

规则配置。格式如下:

mode :Web SDK集成方式,必填。取值范围包含automatic(自动集成)和manual(手动集成)。

crossDomain:跨域的域名调用,选填,仅当mode取值为automatic时生效。

action

String

置空

规则动作,此处不涉及,置为空值。

Web SDK集成配置示例:


[
  {
    "type":"web_sdk",
    "status":"on",
    "config":{"mode":"automatic","crossDomain":"example.com"},
    "action":""
  }
]
规则分类三:防护目标特征

参数

类型

必要

示例值

描述

type

String

traffic_feature

规则类型,取值:traffic_feature。

status

String

on

规则开关,取值:on(开启)。

config

TrafficFeature

{"conditions":[{"key":"Header","subKey":"User-Agent","opValue":"contain","values":"Chrome"},{"key":"IP","subKey":"","opValue":"ip-contain","values":"192.168.0.1/24"}]}

规则配置。具体请参见condition

action

String

置空

规则动作,此处不涉及,置为空值。

condition(匹配条件)

参数

类型

必要

示例值

描述

key

String

Header

匹配字段,具体值请参见DescribeDcdnWafFilterInfo

subKey

String

User-Agent

匹配子字段,具体值请参见DescribeDcdnWafFilterInfo

opValue

String

contain

操作符,具体值请参见DescribeDcdnWafFilterInfo

values

String

Chrome

匹配内容,多值使用英文逗号分隔,具体值请参见DescribeDcdnWafFilterInfo

防护目标特征配置示例:


[
  {
    "type":"traffic_feature",
    "status":"on",
    "config":{"conditions":[{"key":"Header","subKey":"User-Agent","opValue":"contain","values":"Chrome"},{"key":"IP","subKey":"","opValue":"ip-contain","values":"192.168.0.1/24"}]},
    "action":""
  }
]
规则分类四:合法Bot管理

参数

类型

必要

示例值

描述

type

String

intelligence_crawler

规则类型,取值:intelligence_crawler。

status

String

on

规则开关,取值:on(开启)。

config

IntelligenceCrawler

{"name":"intelligence_crawler_baidu"}

规则配置。取值请参见name(搜索引擎蜘蛛白名单)

action

String

bypass

规则动作,取值:bypass(放行)。

name(搜索引擎蜘蛛白名单)

参数值

含义

intelligence_crawler_all

合法搜索引擎白名单(Google、Bing、百度、搜狗、360、Yandex)

intelligence_crawler_baidu

百度蜘蛛白名单

intelligence_crawler_sogou

搜狗蜘蛛白名单

intelligence_crawler_360

360蜘蛛白名单

intelligence_crawler_google

Google蜘蛛白名单

intelligence_crawler_bing

Bing蜘蛛白名单

intelligence_crawler_yandex

andex蜘蛛白名单

合法Bot管理配置示例:


[
  {
    "type":"intelligence_crawler",
    "status":"on",
    "config":{"name":"intelligence_crawler_baidu"},
    "action":"bypass"
  },
  {
    "type":"intelligence_crawler",
    "status":"on",
    "config":{"name":"intelligence_crawler_google"},
    "action":"bypass"
  }
]
规则分类五:简单脚本过滤(JavaScript挑战)

参数

类型

必要

示例值

描述

type

String

js

规则类型,取值:js。

status

String

on

规则开关,取值:on(开启),off(关闭)。

config

Js

置空

规则配置,此处不涉及,置为空值。

action

String

js

规则动作,取值:js(JS校验)。

简单脚本过滤(JavaScript挑战)配置示例:


[
  {
    "type":"js",
    "status":"on",
    "config":{},
    "action":"js"
  }
]
规则分类六:高级Bot防御(动态令牌挑战)

参数

类型

必要

示例值

描述

type

String

sigchl

规则类型,取值:sigchl。

status

String

on

规则开关,取值:on(开启),off(关闭)。

config

Sigchl

{"sigchl":["sig","replay","driver"]}

规则配置,格式如下:

sigchl :请求数据签名验证,必填。取值范围包含sig(签名验证异常),replay(签名时间戳异常),driver(WebDriver攻击)。

action

String

sigchl

规则动作,取值:sigchl(拦截)。

高级Bot防御(动态令牌挑战)配置示例:


[
  {
    "type":"sigchl",
    "status":"on",
    "config":{"sigchl":["sig","replay","driver"]},
    "action":"sigchl"
  }
]
规则分类七:AI智能防护

参数

类型

必要

示例值

描述

type

String

algorithm

规则类型,取值:algorithm。

status

String

on

规则开关,取值:on(开启),off(关闭)。

config

Algorithm

置空

规则配置,此处不涉及,置为空值。

action

String

captcha

规则动作,取值:monitor(观察),captcha(滑块校验)。

AI智能防护配置示例:


[
  {
    "type":"algorithm",
    "status":"on",
    "config":{},
    "action":"captcha"
  }
]
规则分类八:IP限速

参数

类型

必要

示例值

描述

type

String

custom_cc_ip

规则类型,取值:custom_cc_ip。

status

String

on

规则开关,取值:on(开启),off(关闭)。

config

CustomCcIp

{"interval":20,"target":"IP","threshold":50,"ttl":2800}

规则配置,具体请参见IP限速config参数说明

action

String

monitor

规则动作,deny(拦截),monitor(观察),captcha(滑块,仅涉及Web) 。

IP限速config参数说明

参数

类型

必要

示例值

描述

target

String

IP

频次控制的统计字段,取值:IP。

subKey

String

置空

统一字段的子字段,此处不涉及,置为空值。

Interval

Integer

20

统计时长,取值:5~1800,单位:秒。

threshold

Integer

50

统计阈值,取值:2~50000,单位:次。

ttl

Integer

2800

黑名单超时时间,取值:60~86400,单位:秒。

IP限速配置示例:


[
  {
    "type":"custom_cc_ip",
    "status":"on",
    "config":{"interval":20,"target":"IP","threshold":50,"ttl":2800},
    "action":"monitor"
  },
  {
    "type":"custom_cc_ip",
    "status":"on",
    "config":{"interval":10,"target":"IP","threshold":30,"ttl":1800},
    "action":"monitor"
  }
]
规则分类九:设备限速

参数

类型

必要

示例值

描述

type

String

custom_cc_dev

规则类型,取值:custom_cc_dev。

status

String

on

规则开关,取值:on(开启),off(关闭)。

config

CustomCcDev

{"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800}

配置规则,具体请参见设备限速config参数说明

action

String

monitor

规则动作,deny(拦截),monitor(观察)。

设备限速config参数说明

参数

类型

必要

示例值

描述

target

String

Header

频次控制的统计字段,取值:Header。

subKey

String

aliwaf_wxbb_umid

统一字段的子字段,取值:aliwaf_wxbb_umid。

Interval

Integer

20

统计时长,取值:5~1800,单位:秒。

threshold

Integer

50

统计阈值,取值:2~50000,单位:次。

ttl

Integer

2800

黑名单超时时间,取值:60~86400,单位:秒。

设备限速配置示例:


[
  {
    "type":"custom_cc_dev",
    "status":"on",
    "config":{"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800},
    "action":"monitor"
  },
  {
    "type":"custom_cc_dev",
    "status":"on",
    "config":{"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800},
    "action":"deny"
  }
]
规则分类十:自定义会话限速

参数

类型

必要

示例值

描述

type

String

custom_cc

规则类型,取值:custom_cc。

status

String

on

规则开关,取值:on(开启),off(关闭)。

config

CustomCcIp

{"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800}

规则配置,具体请参见自定义会话限速config参数说明

action

String

monitor

规则动作,deny(拦截),monitor(观察),captcha(滑块,仅涉及Web) 。

自定义会话限速config参数说明

参数

类型

必要

示例值

描述

target

String

Query String Parameter

频次控制的统计字段,取值:Header(表示统计包含指定Header的请求的频率),Query String Parameter(表示统计包含指定参数的请求的频率),Cookie Name(表示统计包含指定Cookie的请求的频率)和Session(表示统计来自同一个会话发起请求的频率)。

subKey

String

arg

统一字段的子字段,用户自定义。

Interval

Integer

10

统计时长,取值:5~1800,单位:秒。

threshold

Integer

30

统计阈值,取值:2~50000,单位:次。

ttl

Integer

2800

黑名单超时时间,取值:60~86400,单位:秒。

自定义会话限速配置示例:


[
  {
    "type":"custom_cc",
    "status":"on",
    "config":{"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800},
    "action":"deny"
  },
  {
    "type":"custom_cc",
    "status":"on",
    "config":{"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800},
    "action":"captcha"
  }
]
规则分类十一:爬虫威胁情报库

参数

类型

必要

示例值

描述

type

String

intelligence

规则类型,取值:intelligence。

status

String

on

规则开关,取值:on(开启),off(关闭)。

config

Intelligence

置空

规则配置,此处不涉及,置为空值。

action

String

captcha

规则动作,取值:monitor(观察),captcha(滑块校验)。

爬虫威胁情报库配置示例:


[
  {
    "type":"intelligence",
    "status":"on",
    "config":{},
    "action":"captcha"
  }
]
规则分类十二:IDC黑名单封禁

参数

类型

必要

示例值

描述

type

String

intelligence_idc

规则类型,取值:intelligence_idc。

status

String

on

规则开关,取值:on(开启),off(关闭)。

config

IntelligenceIdc

{"name":"intelligence_idc_alibaba"}

规则配置,取值请参见name参数说明

action

String

captcha

规则动作,取值:deny(拦截),monitor(观察),captcha(滑块校验)。

name参数说明

参数值

含义

intelligence_idc_alibaba

IDC IP库-阿里云

intelligence_idc_tencent

IDC IP库-腾讯云

intelligence_idc_mtyun

IDC IP库-美团云

intelligence_idc_vnet

IDC IP库-世纪互联

intelligence_idc_other

IDC IP库-其他

IDC黑名单封禁配置示例:


[
  {
    "type":"intelligence_idc",
    "status":"on",
    "config":{"name":"intelligence_idc_alibaba"},
    "action":"captcha"
  },
  {
    "type":"intelligence_idc",
    "status":"on",
    "config":{"name":"intelligence_idc_tencent"},
    "action":"captcha"
  }
]
规则分类十三:伪造蜘蛛拦截

参数

类型

必要

示例值

描述

type

String

intelligence_fake_crawler

规则类型,取值:intelligence_fake_crawler。

status

String

on

规则开关,取值:on(开启),off(关闭)。

config

IntelligenceFakeCrawler

置空

规则配置,此处不涉及,置为空值。

action

String

deny

规则动作,取值:deny(拦截)。

伪造蜘蛛拦截配置示例:


[
  {
    "type": "intelligence_fake_crawler",
    "status": "on",
    "config":{},
    "action": "deny"
  }
]
规则分类十四:Bot特征识别

参数

类型

必要

示例值

描述

type

String

app_sdk

规则类型,取值:app_sdk。

status

String

on

规则开关,取值:on(开启)。

config

AppSdk

{"featureAbnormal":["simulator","proxy","root","debugged","hook","virtual","antiReplay","signInvalid"],"customSignStatus":"on","customSign":{"key":"header","value":"ua"}}

规则配置,具体请参见Bot特征识别config参数说明

action

String

monitor

规则动作,取值:deny(拦截),monitor(观察)。

Bot特征识别config参数说明

参数

类型

必要

示例值

描述

featureAbnormal

[]String

simulator

signInvalid:APP签名异常。

antiReplay:签名过期。

simulator:使用模拟器

proxy:使用代理

root:Root设备

debugged:调试模式。

hook:APP被hook。

virtual :APP多开。

customSignStatus

String

on

自定义加签字段开关,取值:on(开启),off(关闭)。

customSign

CustomSign

{"key":"header","value":"ua"}

自定义加签字段,格式如下:

key :字段名,必填。取值为header、arg、cookie。

value:字段值,必填。

Bot特征识别配置示例:


[
  {
    "type": "app_sdk",
    "status": "on",
    "config": {"featureAbnormal":["simulator","proxy","root","debugged","hook","virtual","antiReplay","signInvalid"],"customSignStatus":"on","customSign":{"key":"header","value":"ua"}},
    "action": "monitor"
  }
]
规则分类十五:高级防护(二次打包检测)

参数

类型

必要

示例值

描述

type

String

app_package

规则类型,取值:app_package。

status

String

on

规则开关,取值:on(开启)。

config

AppPackage

{"packageSigns":[{"name":"aaaaa","sign":"bbbb"},{"name":"cccc","sign":"dddd"}]}

规则配置,具体请参见packageSigns参数说明

action

String

monitor

规则动作,取值:deny(拦截),monitor(观察)。

packageSigns参数说明

参数

类型

必要

示例值

描述

name

String

aaaaa

指定合法包名。

sign

String

bbbb

包签名。

高级防护(二次打包检测)配置示例:


[
  {
    "type": "app_package",
    "status": "on",
    "config": {"packageSigns":[{"name":"aaaaa","sign":"bbbb"},{"name":"cccc","sign":"dddd"}]},
    "action": "deny"
  }
]
Bot管理网页/浏览器防护组合参数配置示例

[
    {
        "type": "target_type",
        "status": "on",
        "config":
        {
            "target": "web"
        },
        "action": ""
    },
    {
        "type": "web_sdk",
        "status": "on",
        "config":
        {
            "mode": "automatic",
            "crossDomain": "example.com"
        },
        "action": ""
    },
    {
        "type": "traffic_feature",
        "status": "on",
        "config":
        {
            "conditions":
            [
                {
                    "key": "Header",
                    "subKey": "User-Agent",
                    "opValue": "contain",
                    "values": "Chrome"
                },
                {
                    "key": "IP",
                    "subKey": "",
                    "opValue": "ip-contain",
                    "values": "192.168.0.1/24"
                }
            ]
        },
        "action": ""
    },
    {
        "type": "intelligence_crawler",
        "status": "on",
        "config":
        {
            "name": "intelligence_crawler_baidu"
        },
        "action": "bypass"
    },
    {
        "type": "intelligence_crawler",
        "status": "on",
        "config":
        {
            "name": "intelligence_crawler_google"
        },
        "action": "bypass"
    },
    {
        "type": "js",
        "status": "on",
        "config":
        {},
        "action": "js"
    },
    {
        "type": "sigchl",
        "status": "on",
        "config":
        {
            "sigchl":
            [
                "sig",
                "replay",
                "driver"
            ]
        },
        "action": "sigchl"
    },
    {
        "type": "algorithm",
        "status": "on",
        "config":
        {},
        "action": "captcha"
    },
    {
        "type": "custom_cc_ip",
        "status": "on",
        "config":
        {
            "interval": 20,
            "target": "IP",
            "threshold": 50,
            "ttl": 2800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc_ip",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "IP",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "Query String Parameter",
            "subKey": "arg",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "deny"
    },
    {
        "type": "custom_cc",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "Query String Parameter",
            "subKey": "arg",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "captcha"
    },
    {
        "type": "intelligence",
        "status": "on",
        "config":
        {},
        "action": "captcha"
    },
    {
        "type": "intelligence_idc",
        "status": "on",
        "config":
        {
            "name": "intelligence_idc_alibaba"
        },
        "action": "captcha"
    },
    {
        "type": "intelligence_idc",
        "status": "on",
        "config":
        {
            "name": "intelligence_idc_tencent"
        },
        "action": "captcha"
    },
    {
        "type": "intelligence_fake_crawler",
        "status": "on",
        "config":
        {},
        "action": "deny"
    }
]
Bot管理APP防护组合参数配置示例
json
[
    {
        "type": "target_type",
        "status": "on",
        "config":
        {
            "target": "app"
        },
        "action": ""
    },
    {
        "type": "traffic_feature",
        "status": "on",
        "config":
        {
            "conditions":
            [
                {
                    "key": "Header",
                    "subKey": "User-Agent",
                    "opValue": "contain",
                    "values": "Chrome"
                },
                {
                    "key": "IP",
                    "subKey": "",
                    "opValue": "ip-contain",
                    "values": "192.168.0.1/24"
                }
            ]
        },
        "action": ""
    },
    {
        "type": "custom_cc_ip",
        "status": "on",
        "config":
        {
            "interval": 20,
            "target": "IP",
            "threshold": 50,
            "ttl": 2800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc_ip",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "IP",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc_dev",
        "status": "on",
        "config":
        {
            "interval": 20,
            "target": "Header",
            "subKey": "aliwaf_wxbb_umid",
            "threshold": 50,
            "ttl": 2800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc_dev",
        "status": "on",
        "config":
        {
            "interval": 20,
            "target": "Header",
            "subKey": "aliwaf_wxbb_umid",
            "threshold": 50,
            "ttl": 2800
        },
        "action": "deny"
    },
    {
        "type": "custom_cc",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "Query String Parameter",
            "subKey": "arg",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "Query String Parameter",
            "subKey": "arg",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "deny"
    },
    {
        "type": "app_sdk",
        "status": "on",
        "config":
        {
            "featureAbnormal":
            [
                "simulator",
                "proxy",
                "root",
                "debugged",
                "hook",
                "virtual",
                "antiReplay",
                "signInvalid"
            ],
            "customSignStatus": "on",
            "customSign":
            {
                "key": "header",
                "value": "ua"
            }
        },
        "action": "monitor"
    },
    {
        "type": "app_package",
        "status": "on",
        "config":
        {
            "packageSigns":
            [
                {
                    "name": "aaaaa",
                    "sign": "bbbb"
                },
                {
                    "name": "cccc",
                    "sign": "dddd"
                }
            ]
        },
        "action": "deny"
    }
]

返回数据

名称 类型 示例值 描述
RequestId String CB1A380B-09F0-41BB-280B-72F8FD6DA2FE

请求ID。

RuleIds Array of String 100001,200002

创建的规则ID列表。

示例

请求示例

http(s)://[Endpoint]/?Action=BatchCreateDcdnWafRules
&PolicyId=1000001
&RuleConfigs={"name":"ttttt","action":"monitor","conditions":[{"key":"URL","opValue":"match-one","values":"1,2,3,4,5"},{"key":"Header","opValue":"contain-one","subKey":"testheader","values":"6,7,8,9,10"}],"ratelimit":{"target":"header","interval":10,"threshold":5,"ttl":1800,"subKey":"testheadercc","status":{"code":"502","count":5}},"ccStatus":"on","effect":"rule","status":"on"}
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<BatchCreateDcdnWafRulesResponse>
    <RequestId>CB1A380B-09F0-41BB-280B-72F8FD6DA2FE</RequestId>
    <RuleIds>100001,200002</RuleIds>
</BatchCreateDcdnWafRulesResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "CB1A380B-09F0-41BB-280B-72F8FD6DA2FE",
  "RuleIds" : [ "100001,200002" ]
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidParameter The specified parameter is invalid. 无效的参数值。
400 Policy.NotExist The specified policy does not exist. 指定的防护策略不存在。
400 RuleConfigs.Malformed The specified RuleConfigs format is invalid. 指定的参数RuleConfigs格式错误。
400 RuleName.AlreadyExists Rule name already exists in specified policy. 规则名称在指定的策略中已存在。
400 Rule.QuantityOverflow Rules are overflowed quantity in specified policy. 规则在指定的策略中超出配额。
500 InternalError An internal error occurred; please try again later. 内部错误,请重试,如果多次重试报错请提交工单。

访问错误中心查看更多错误码。