You need to enable JavaScript to run this app.
文档中心
Web应用防火墙

Web应用防火墙

复制全文
下载 pdf
Bot 管理
CreateCustomBotConfig - 创建自定义 bot 规则
复制全文
下载 pdf
CreateCustomBotConfig - 创建自定义 bot 规则
调用 CreateCustomBotConfig 接口在指定防护域名下创建自定义 Bot 规则。​
注意事项​
  • 服务接口调用总上限:1000 QPS​
  • 单账号调用上限:50 QPS​
请求说明​
  • 请求方式:POST​
  • 请求地址:https://waf.volcengineapi.com/?Action=CreateCustomBotConfig&Version=2023-12-25​
请求参数​
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。​
Query​
Action String 必选 示例值:CreateCustomBotConfig​
接口名称。当前 API 的名称为 CreateCustomBotConfig。​
​
Version String 必选 示例值:2023-12-25​
接口版本。当前 API 的版本为 2023-12-25。​
​
​
Body​
BotType String 必选 示例值:Bot1​
Bot 名称。​
  • 以中文、字母、数字开头​
  • 允许字母、数字、中文、点“.”、下划线“_”和中划线“-”​
  • 长度为 1~128 个字符​
​
Description String 可选 示例值:该机器人用于XX,具备XX的功能。​
Bot 相关描述。​
  • 以中文、字母、数字开头​
  • 允许字母、数字、中文、点“.”、空格、下划线“_”、中划线“-”、等号“=”、英文逗号“,”、中文逗号“,”和中文句号“。”​
  • 长度为 0~255 个字符​
​
Action String 必选 示例值:observe​
执行动作。​
  • observe:观察​
  • block:拦截​
  • js:JS挑战​
  • captcha:人机验证​
  • pow:工作量证明​
  • permit:放行​
​
Enable Integer 必选 示例值:1​
是否启用该规则。​
  • 0:不启用​
  • 1:启用​
​
Host String 必选 示例值:example.volcwaf001.com​
需要创建规则的防护网站域名。​
​
ProjectName String 可选 示例值:default​
所属项目资源名称,获取方式可参考ListProjectResources - 获取项目资源列表。​
​
Accurate Object 必选 示例值:--​
高级配置详情。​
Logic Integer 必选 示例值:1​
AccurateRules 子规则之间的逻辑关系。支持的取值如下所示。​
  • 1:与(AND);​
  • 2:或(OR)。​
​
AccurateRules Object[] 必选 示例值:-​
高级条件中的子规则列表。​
HttpObj String 必选 示例值:request.header.clientip​
匹配规则对应的具体对象。支持的匹配对象如下所示:​
  • request.schema:请求协议;​
  • request.uri:请求 URI;​
  • request.method:请求方法;​
  • request.path:请求路径;​
  • request.queryargs:请求参数;​
  • request.header:请求头;​
  • request.header.ua:请求 User-Agent;​
  • request.header.refer:请求 referer;​
  • request.header.cookie:请求 Cookie 头;​
  • request.header.content-length:请求体长度;​
  • request.header.content-type:请求体格式;​
  • request.header.x-forwarded-for:X-Forwarded-For;​
  • request.header.clientip:客户端 IP;​
  • request.queryargs.{Key}:自定义请求参数(需替换 {Key} 为具体参数名);​
  • request.header.{Key}:自定义请求头(需替换 {Key} 为具体头名称);​
  • request.cookie.{Key}:自定义 Cookie(需替换 {Key} 为具体 Cookie 名称);​
  • response.header:响应头;​
  • response.body:响应体;​
  • response.code:响应状态码;​
  • response.header.content-type:响应头 content-type;​
  • response.header.{Key}:自定义响应头(需替换 {Key} 为具体头名称);​
  • response.body.{Key}:响应体字段(需替换 {Key} 为具体字段名);​
  • request.ja3-hash:JA3 Hash;(仅 byteplus-global 地域适用)​
说明​
不能直接传递 request.queryargs.*、request.header.*、request.cookie.*、response.header.*、response.body.*这类泛化形式,必须携带具体的 Key。​
​
ObjType Integer 必选 示例值:12​
匹配对象类型的枚举值,用于指定高级条件中子规则的匹配对象类型。支持的取值如下所示:​
  • 0:request.schema;​
  • 1:request.uri;​
  • 2:request.method;​
  • 3:request.path;​
  • 4:request.queryargs;​
  • 5:request.header;​
  • 6:request.header.ua;​
  • 7:request.header.refer;​
  • 8:request.header.cookie;​
  • 9:request.header.content-length;​
  • 10:request.header.content-type;​
  • 11:request.header.x-forwarded-for;​
  • 12:request.header.clientip;​
  • 13:request.queryargs.{Key};​
  • 14:request.header.{Key};​
  • 15:request.cookie.{Key};​
  • 17:response.header;​
  • 18:response.body;​
  • 19:response.code;​
  • 20:response.header.content-type;​
  • 21:response.header.{Key};​
  • 22:response.body.{Key};​
  • 23:request.ja3-hash。(仅 byteplus-global 地域适用)​
​
Opretar Integer 必选 示例值:2​
匹配操作符的枚举值,用于指定高级条件中子规则的匹配方式。支持的取值如下所示:​
  • 0:大于;​
  • 1:大于等于;​
  • 2:等于;​
  • 3:小于;​
  • 4:小于等于;​
  • 5:不等于;​
  • 6:包含子串;​
  • 7:不包含子串;​
  • 8:前缀匹配;​
  • 9:前缀不匹配;​
  • 10:后缀匹配;​
  • 11:后缀不匹配;​
  • 12:包含全部匹配集;​
  • 13:不包含全部匹配集;​
  • 14:属于匹配集;​
  • 15:不属于匹配集;​
  • 16:正则匹配;​
  • 17:识别为 IP;​
  • 18:识别为 IPv4;​
  • 19:识别为 IPv6;​
  • 20:识别为私网 IP;​
  • 21:识别为公网 IP;​
  • 22:保留值;​
  • 23:属于 IP 组;​
  • 24:不属于 IP 组;​
  • 25:属于 IP 地理位置;​
  • 26:不属于 IP 地理位置;​
  • 27:包含 IP 情报;​
  • 28:属于 ASN;​
  • 29:不属于 ASN。​
​
Property Integer 必选 示例值:0​
匹配属性类型的枚举值,默认使用 0(除 IP 识别类特殊场景外)。支持的取值如下所示:​
  • 0:Value,适用于大部分匹配对象场景,如请求协议、URI、方法、请求头、客户端 IP、JA3 Hash 等;​
  • 5:IP,仅用于以下 IP 识别类操作​
  • 17(识别为 IP)​
  • 18(识别为 IPv4)​
  • 19(识别为 IPv6)​
  • 20(识别为私网 IP)​
  • 21(识别为公网 IP)​
​
ValueString String 必选 示例值:1.1.1.1​
匹配规则对应的具体值。​
  • 当匹配对象为request.header.{Key}、request.queryargs.{Key}或request.cookie.{Key}等泛化对象时,该字段表示对应Key的匹配值。​
  • 特殊说明:当操作符(Opretar)为17、18、19、20、21且匹配对象(HttpObj)为request.header.clientip时,无需填写该字段;其余操作符场景均需按实际匹配值填写。​
​
​
​
​
返回参数​
Id Integer 示例值:55676​
规则唯一标识符(对应RuleTag)的实际计数位,例如RuleTag = K000000055676,则Id = 55676。​
​
​
错误码​
您可访问公共错误码,获取更多错误码信息。​

输入示例

POST /?Action=CreateCustomBotConfig&Version=2023-12-25 HTTP/1.1
Host: waf.volcengineapi.com
Content-Type: application/json; charset=UTF-8
X-Date: 20250328T121414Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=Adfks******wekfwe/20250328/cn-beijing/waf/request, SignedHeaders=host;x-content-sha256;x-date, Signature=47a7d934ff7b37c03938******cd7b8278a40a1057690c401e92246a0e41085f

{
  "BotType": "Bot1",
  "Description": "该机器人用于XX,具备XX的功能。",
  "Action": "observe",
  "Enable": 1,
  "Host": "example.volcwaf001.com",
  "ProjectName": "default",
  "Accurate": {
    "Logic": 1,
    "AccurateRules": [
      {
        "ValueString": "http",
        "Opretar": 2,
        "ObjType": 0,
        "HttpObj": "request.schema",
        "Property": 0
      }
    ]
  }
}

输出示例

{
  "ResponseMetadata": {
    "RequestId": "20250328201430102047003082F72767",
    "Action": "CreateCustomBotConfig",
    "Version": "2023-12-25",
    "Service": "waf",
    "Region": "cn-beijing"
  },
  "Result": {
    "Id": 55676
  }
}
最近更新时间:2026.06.03 17:05:16
这个页面对您有帮助吗?
有用
有用
无用
无用