1. 接口描述
接口请求域名: waf.tencentcloudapi.com 。
增加访问控制(自定义策略)
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:AddCustomRule。 |
Version | 是 | String | 公共参数,本接口取值:2018-01-25。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表,本接口仅支持其中的: ap-guangzhou, ap-seoul 。 |
Name | 是 | String | 规则名称 示例值:rulename |
SortId | 是 | String | 优先级 示例值:1 |
Strategies.N | 是 | Array of Strategy | 策略详情 示例值:[ { "Field": "URL", "Arg": "", "CompareFunc": "eq", "Content": "/acl" } ] |
Domain | 是 | String | 需要添加策略的域名 示例值:test.com |
ActionType | 是 | String | 动作类型,1代表阻断,2代表人机识别,3代表观察,4代表重定向,5代表JS校验 示例值:1 |
Redirect | 否 | String | 如果动作是重定向,则表示重定向的地址;其他情况可以为空 示例值:/redirect.html |
ExpireTime | 否 | String | 过期时间,单位为秒级时间戳,例如1677254399表示过期时间为2023-02-24 23:59:59. 0表示永不过期 示例值:"0" |
Edition | 否 | String | WAF实例类型,sparta-waf表示SAAS型WAF,clb-waf表示负载均衡型WAF 示例值:clb-waf |
Bypass | 否 | String | 放行时是否继续执行其它检查逻辑,继续执行地域封禁防护:geoip、继续执行CC策略防护:cc、继续执行WEB应用防护:owasp、继续执行AI引擎防护:ai、继续执行信息防泄漏防护:antileakage。如果多个勾选那么以,串接。默认是"geoip,cc,owasp,ai,antileakage" 示例值:cc,bot |
EventId | 否 | String | 添加规则的来源,默认为空 示例值:10111 |
JobType | 否 | String | 规则执行的方式,TimedJob为定时执行,CronJob为周期执行 示例值:TimedJob |
JobDateTime | 否 | JobDateTime | 规则执行的时间 示例值:{ "Timed": [ { "StartDateTime": 1711618518, "EndDateTime": 1711918518 } ], "Cron": [ { "Day": 12, "WDay": 2, "StartTime": "12:11", "EndTime": "21:00" } ], "TimeTZone": "UTC+8" } |
Source | 否 | String | 规则来源,判断是不是小程序的 示例值:applet |
Label | 否 | String | 规则标签,小程序规则用,标识是内置规则还是自定义规则 示例值:label |
Status | 否 | Integer | 开关状态,小程序风控规则的时候传该值 示例值:1 |
PageId | 否 | String | 拦截页面id 示例值:10111 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
Success | ResponseCode | 操作的状态码,如果所有的资源操作成功则返回的是成功的状态码,如果有资源操作失败则需要解析Message的内容来查看哪个资源失败 示例值:{"Code":"Success","Message":"Success"} |
RuleId | Integer | 添加成功的规则ID 示例值:7025 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 添加访问控制(自定义策略)
增加访问控制(自定义策略)
输入示例
POST / HTTP/1.1
Host: waf.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: AddCustomRule
<公共请求参数>
{
"Redirect": "/redirect_url",
"Domain": "www.test.com",
"Name": "name",
"SortId": "100",
"ExpireTime": "0",
"Edition": "clb-waf",
"ActionType": "1",
"Strategies": [
{
"Content": "cookie_value",
"Field": "COOKIE",
"CompareFunc": "eq",
"Arg": "cookie_key"
}
]
}
输出示例
{
"Response": {
"RequestId": "1a16a333-76ac-42f5-8066-c0ea93cc8dc7",
"RuleId": 7025,
"Success": {
"Message": "Success",
"Code": "Success"
}
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
InternalError | 内部错误。 |
InternalError.DBErr | DBErr |
LimitExceeded | 超过配额限制。 |
LimitExceeded.SpecificationErr | SpecificationErr |
UnsupportedOperation | 操作不支持。 |