建立 Web 核心防護規則。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
yundun-waf:CreateDefenseRule |
create |
*全部資源。
|
|
無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| InstanceId |
string |
是 |
WAF 執行個體 ID。 說明
您可以透過呼叫 DescribeInstance 介面檢視您目前的 WAF 執行個體 ID。 |
waf_v2_public_cn-**** |
| TemplateId |
integer |
否 |
要建立的防護規則之防護範本 ID。 說明
僅當 DefenseType 為 template 時,需要傳入此參數。 同一防護範本內可建立的規則數量存在上限,具體限制請參閱規則數量限制。當規則數量已達上限時,可透過呼叫 CreateDefenseTemplate 介面建立新的防護範本。也可以透過 ModifyDefenseRule 介面修改已有的規則。 |
1122 |
| DefenseScene |
string |
是 |
要建立的 WAF 防護場景。 當防護規則類型 DefenseType 為 template 時,取值:
當防護規則類型 DefenseType 為 resource 時,取值:
當防護規則類型 DefenseType 為 global 時,取值:
說明
全域設定的自訂回應,使用者可在防護物件或者規則下引用,當使用者在不同維度引用設定了自訂回應規則時,真實生效邏輯為:規則級別 > 防護物件級別 > 預設頁面。 |
waf_group |
| Rules |
string |
是 |
規則設定內容,以一系列參數建構的 JSON 格式轉化成字串。 說明
根據所指定的防護規則類型(DefenseScene)不同,具體涉及的參數有所不同。詳細資訊,請參閱防護規則參數描述。 |
waf_group |
| ResourceManagerResourceGroupId |
string |
否 |
是否開啟 DryRun 預檢模式。如果不輸入此參數,表示發起正常請求。取值:
|
false |
| DefenseType |
string |
否 |
阿里雲資源群組 ID。 枚舉值:
|
rg-acfm***q |
| RegionId |
string |
否 |
防護規則類型。 枚舉值:
|
template |
| Resource |
string |
否 |
WAF 執行個體所屬地域。取值:
|
cn-hangzhou |
|
否 |
建立規則對應的防護物件。 說明
僅當 DefenseType 為 resource 時,需要傳入此參數。 |
sec****-waf |
防護規則參數描述
規則數量限制
同一防護範本內,各防護場景(DefenseScene)可建立的規則數量存在上限。下列場景為固定條數,其餘場景的上限與 WAF 執行個體版本相關,具體請參閱版本功能對比。
| 防護場景 | DefenseScene | 規則數量上限 | 說明 |
| 基礎防護 | waf_group | 3 | 每種防護規則類型(protectionType)各 1 條。 |
| 新版 Web 核心防護 | waf_base | 1 | |
| 掃描防護 | antiscan | 3 | 每種掃描防護子類型(protectionType)各 1 條,即高頻掃描封鎖、目錄遍歷封鎖、掃描工具封鎖。 |
| 區域封鎖 | region_block | 1 | |
| 舊版本自訂回應 | custom_response | 1 | 當 DefenseType 為 template 時的舊版本自訂回應有此限制。新版本自訂回應請參閱版本功能對比。 |
| CC 防護 | cc | 1 | |
| BOT 管理 | bot_manager | — | 場景化規則中每種規則標籤(botRuleDetail.ruleKey)各 1 條。 |
| 解碼 | waf_codec | 1 | |
| 帳號提取 | account_identifier | 1 | |
| WebSDK 整合 | websdk | 1 |
當防護規則類型 DefenseType 為 template 時且目標範本中該場景的規則數量已達上限時,建立會失敗,此時可透過呼叫 CreateDefenseTemplate 介面建立新的防護範本。也可以透過 ModifyDefenseRule 介面修改已有的規則。
範本防護規則(template)
當防護規則類型 DefenseType 為 template 時,具體的規則設定內容如下。
基礎防護規則(waf_group)
參數描述
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| status | Integer | 必選 | 1 | 防護規則狀態。此參數僅用於建立防護規則,修改防護規則狀態時使用 ModifyDefenseRuleStatus 介面的 RuleStatus 參數。取值: - 0:表示關閉。 - 1(預設):表示開啟。 |
| action | String | 必選 | block | 防護規則動作。取值: - block:表示攔截。 - monitor:表示觀察。 |
| policyId | Long | 可選 | 1012 | 防護規則群組 ID。預設為中等規則群組 1012。 |
| protectionType | String | 可選 | sema | 防護規則類型。取值: - regular(預設):表示正規表示式防護。 - sema:表示語義防護。 |
| config | String | 可選 | {"nonInjectionSql":1} | 自訂設定資訊,以 JSON 字串格式表示。具體設定資訊,請參閱 config 詳細設定。 |
config 詳細設定
protectionType 設定為 sema 時(基礎防護規則設定為語義防護)
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| nonInjectionSql | Integer | 必選 | 1 | 非注入型攻擊偵測狀態。取值: - 0:表示關閉。 - 1(預設):表示開啟。 |
範例
{
"DefenseScene": "waf_group",
"TemplateId": 322,
"InstaneId": "waf_cn****",
"Rules": "[{\"status\":1,\"policyId\":1012,\"action\":\"block\"},{\"status\":1,\"action\":\"block\",\"protectionType\":\"sema\",\"config\":\"{\\\"nonInjectionSql\\\":1}\"}]"
}
新版 Web 核心防護規則(waf_base)
參數描述
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| autoUpdate | Boolean | 必選 | true | 自動更新,取值: - true:表示開啟自動更新。 - false:表示關閉自動更新。 |
| config | Array | 必選 | [{"ruleType":"system","ruleDetail":[{"ruleId":13000412,"ruleStatus":1,"ruleAction":"block"}]}] | 需要修改的規則設定,具體設定資訊,請參閱 config 詳細設定。 重要 您可以透過 DescribeBaseSystemRules 介面查詢該範本的系統防護規則設定;透過 DescribeDefenseRules 介面查詢該範本的自訂正規表示式規則設定。 |
config 詳細設定
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| ruleType | String | 必選 | system | 規則類型,取值: - system:基礎防護中的系統規則。 - custom: 基礎防護中的自訂正規表示式規則 |
| ruleBatchOperationConfig | String | 可選 | default | 批次修改規則操作,該欄位非空時,RuleDetail 欄位必須為空。取值: - default:恢復預設。 - all_on:所有規則狀態開啟。 - all_off:所有規則狀態關閉。 - all_block:所有規則動作攔截。 - all_monitor:所有規則動作觀察。 |
| ruleDetail | Array | 可選 | [{"ruleId":13000412,"ruleStatus":1,"ruleAction":"block"}]] | 需要修改的規則設定。其中: - ruleId:規則 ID。 - ruleStatus:規則狀態。 - ruleAction:規則動作。 |
範例
{
"DefenseScene": "waf_base",
"TemplateId": 322,
"InstaneId": "waf_cn****",
"Rules": "[{\"autoUpdate\":true,\"config\":[{\"ruleType\":\"system\",\"ruleDetail\":[{\"ruleId\":13000412,\"ruleStatus\":1,\"ruleAction\":\"block\"}]}]}]"
}
掃描防護規則(antiscan)
參數描述
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| protectionType | String | 必選 | highfreq | 掃描防護規則子類型。取值: - highfreq:表示高頻掃描封鎖。 - dirscan:表示目錄遍歷封鎖。 - scantools:表示掃描工具封鎖。 |
| status | Integer | 必選 | 1 | 防護規則狀態。此參數僅用於建立防護規則,修改防護規則狀態時使用 ModifyDefenseRuleStatus 介面的 RuleStatus 參數。取值: - 0:表示關閉。 - 1(預設):表示開啟。 |
| action | String | 必選 | block | 防護規則動作。取值: - block:表示攔截。 - monitor:表示觀察。 |
| actionExternal | JSON | 可選 | {"responseRuleId":123444} | 防護規則動作的擴充設定,僅新版自訂回應支援設定。當 action 為 block 時,可以指定自訂攔截頁面。 |
| config | String | 可選 | {"target":"remote_addr","interval":60,"ttl":180,"count":20} | 自訂設定資訊,以 JSON 字串格式進行描述。具體設定資訊,請參閱 config 詳細設定。 |
config 詳細設定
protectionType 設定為 highfreq 時(掃描防護規則設定為高頻掃描封鎖)
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| target | String | 必選 | remote_addr | 統計物件類型。取值: - remote_addr(預設):表示 IP。 - cookie.acw_tc:表示工作階段。 - header:表示自訂 Header。選擇自訂 Header 時,必須在 subkey 參數中填寫需要統計的 Header 內容。 - queryarg:表示自訂參數。選擇自訂參數時,必須在 subkey 參數中填寫需要統計的自訂參數名稱。 - cookie:表示自訂 Cookie。選擇自訂 Cookie 時,必須在 subkey 參數中填寫需要統計的 Cookie 內容。 |
| subKey | String | 可選 | abc | 統計物件的子特徵。當 target 參數值為 cookie、header 或 queryarg 時,必須在 subkey 參數中填寫對應的資訊。 |
| interval | Integer | 可選 | 60 | 偵測時長,單位為秒。預設為 60 秒。 取值範圍為:5~1800 秒。 |
| ttl | Integer | 可選 | 1800 | 封鎖時長,單位為秒。預設為 1800 秒。 取值範圍為:60~86400 秒。 |
| count | Integer | 可選 | 20 | 基礎防護規則觸發最大次數。預設為 20 次。 取值範圍為:3~50000 次。 |
| ruleIdCount | Integer | 可選 | 2 | 觸發的最大規則數。預設為 2 條。 取值範圍為:1~50 條。 |
protectionType 設定為 dirscan 時(掃描防護規則設定為目錄遍歷封鎖)
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| target | String | 必選 | remote_addr | 統計和封鎖物件。取值: - remote_addr(預設):表示 IP。 - cookie.acw_tc:表示工作階段。 - header:表示自訂 Header。 - queryarg:表示自訂參數。 - cookie:表示自訂 Cookie。 |
| subKey | String | 可選 | 1 | 統計和封鎖物件的子特徵。僅 target 設定為 header、queryarg、cookie 時,設定此資訊。 |
| interval | Integer | 可選 | 60 | 偵測時長,單位為秒。預設為 60 秒。 取值範圍為:5~1800 秒。 |
| ttl | Integer | 可選 | 1800 | 封鎖時長,單位為秒。預設為 1800 秒。 取值範圍為:60~86400 秒。 |
| count | Integer | 可選 | 20 | 基礎防護規則觸發最大次數。預設為 20 次。 取值範圍為:3~50000 次。 |
| weight | Float | 可選 | 2 | 404 回應碼百分比。預設為 0.7。 取值範圍為:0.01~1.0,精確到小數點後兩位。 |
| uriNum | Integer | 可選 | 2 | 不存在的最大目錄數。預設為 50 個。 取值範圍為:2~50000 個。 |
範例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2222,
"DefenseScene": "antiscan",
"Rules": "[{\"protectionType\":\"scantools\",\"action\":\"block\",\"status\":1},{\"protectionType\":\"dirscan\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":10,\\\"ttl\\\":1800,\\\"weight\\\":0.7,\\\"uriNum\\\":50,\\\"count\\\":50}\"},{\"protectionType\":\"highfreq\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":60,\\\"ttl\\\":1800,\\\"count\\\":20,\\\"ruleIdCount\\\":2}\"}]"
}
IP 黑名單規則(ip_blacklist)
參數描述
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| name | String | 必選 | iptest | IP 黑名單規則名稱。長度為 1~255 個字元,可以包含中文、英文、數字、底線(_)、半形句號(.)或者連字號(-)。 |
| status | Integer | 必選 | 1 | 防護規則狀態。此參數僅用於建立防護規則,修改防護規則狀態時使用 ModifyDefenseRuleStatus 介面的 RuleStatus 參數。取值: - 0:表示關閉。 - 1(預設):表示開啟。 |
| action | String | 必選 | block | 防護規則動作。取值: - block:表示攔截。 - monitor:表示觀察。 |
| actionExternal | JSON | 可選 | {"responseRuleId":123444} | 防護規則動作的擴充設定,僅新版自訂回應支援設定。當 action 為 block 時,可以指定自訂攔截頁面。 |
| remoteAddr | Array | 必選 | ["1.1.XX.XX", "3.1.XX.XX/24"] | 要加入的 IP 黑名單列表。使用 ["ip1","ip2",……] 格式表示。 |
範例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2222,
"DefenseScene": "ip_blacklist",
"Rules": "[{\"name\":\"iptest1\",\"remoteAddr\":[\"1.1.1.2\",\"3.3.3.3/24\"],\"action\":\"monitor\",\"status\":1},{\"name\":\"iptest2\",\"remoteAddr\":[\"4.4.4.4\",\"5.5.5.5/32\"],\"action\":\"block\",\"status\":1}]"
}
自訂規則(custom_acl)
參數描述
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| name | String | 必選 | iptest | 自訂 ACL 規則名稱。長度為 1~255 個字元,可以包含中文、英文、數字、底線(_)、半形句號(.)或者連字號(-)。 |
| status | Integer | 必選 | 1 | 防護規則狀態。此參數僅用於建立防護規則,修改防護規則狀態時使用 ModifyDefenseRuleStatus 介面的 RuleStatus 參數。取值: - 0:表示關閉。 - 1(預設):表示開啟。 |
| action | String | 必選 | block | 防護規則動作。取值: - block:表示攔截。 - monitor:表示觀察。 - js:表示 JS 驗證。 - captcha:表示滑塊驗證。 - captcha_strict:表示嚴格滑塊驗證。 說明 自訂 ACL 支援的防護規則動作,請以 WAF 主控台中展示的自訂規則動作為準。 |
| actionExternal | JSON | 可選 | {"responseRuleId":123444} | 防護規則動作的擴充設定,僅新版自訂回應支援設定。當 action 為 block 時,可以指定自訂攔截頁面,action 為 captcha/ captcha_strict 時,可以指定自訂滑塊驗證頁面。 |
| conditions | Array | 必選 | [{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}] | ACL 的流量特徵,以 JSON 字串格式進行描述,支援填寫最多五個匹配條件。具體設定資訊,請參閱防護規則參數設定說明中 conditions 設定說明。 |
| ccStatus | Integer | 必選 | 1 | 是否開啟限速。取值: - 0:表示關閉限速。 - 1:表示開啟限速。 |
| ratelimit | JSON | 可選 | {"target":"remote_addr","interval":5,"threshold":2,"ttl":1800,"status":{"code":404,"count":2}} | 限速詳細設定,以 JSON 字串格式進行描述,僅 ccStatus 設定為 1 時,設定此資訊。具體設定資訊,請參閱防護規則參數設定說明中 ratelimit 詳細設定。 |
| effect | String | 可選 | rule | 設定限速生效範圍,僅 ccStatus 設定為 1 時,設定此資訊。取值: - service:表示生效物件為防護物件。 - rule:表示生效物件為單一規則。 |
| grayStatus | Integer | 可選 | 1 | 是否開啟規則的灰度生效。取值: - 0(預設):表示關閉灰度。 - 1:表示開啟灰度。 |
| grayConfig | JSON | 可選 | {"grayTarget":"header","grayRate":80,"graySubKey":"test"} | 規則生效的灰度設定,以 JSON 字串格式進行描述,僅 grayStatus 設定為 1 時,設定此資訊。具體設定資訊,請參閱防護規則參數設定說明中 grayConfig 詳細設定。 |
| timeConfig | JSON | 可選 | {"timeScope":"period","timeZone":8,"timePeriods":[{"start":1758771729787,"end":1758816000000}]} | 規則生效的排程設定,以 JSON 字串格式進行描述。具體設定資訊,請參閱防護規則參數設定說明中 timeConfig 詳細設定。 |
範例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 6242,
"DefenseScene": "custom_acl",
"Rules":"[{\"name\":\"acl_test\",\"action\":\"block\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"abc\"}],\"ratelimit\":{\"target\":\"remote_addr\",\"interval\":5,\"threshold\":2,\"ttl\":1800,\"status\":{\"code\":404,\"count\":2}},\"ccStatus\":1,\"effect\":\"rule\",\"status\":1,\"origin\":\"custom\",\"timeConfig\":{\"timeScope\":\"cycle\",\"timeZone\":8,\"weekTimePeriods\":[{\"day\":\"1\",\"dayPeriods\":[{\"start\":0,\"end\":51644084}]},{\"day\":\"1,2,5\",\"dayPeriods\":[{\"start\":0,\"end\":42928908}]}]},\"grayStatus\":1,\"grayConfig\":{\"grayRate\":80,\"graySubKey\":\"test\",\"grayTarget\":\"header\"}}]"
}
白名單規則(whitelist)
參數描述
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| name | String | 必選 | whitelistTest | 白名單規則名稱。長度為 1~255 個字元,可以包含中文、英文、數字、底線(_)、半形句號(.)或者連字號(-)。 |
| status | Integer | 必選 | 1 | 防護規則狀態。此參數僅用於建立防護規則,修改防護規則狀態時使用 ModifyDefenseRuleStatus 介面的 RuleStatus 參數。取值: - 0:表示關閉。 - 1(預設):表示開啟。 |
| conditions | Array | 必選 | [{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}] | 白名單的流量特徵,以 JSON 字串格式進行描述,支援填寫最多五個匹配條件。具體設定資訊,請參閱防護規則參數設定說明中 conditions 設定說明。 |
| tags | Array | 必選 | ["waf", "regular"] | 白名單作用模組列表,使用 ["XX1", "XX2",……] 格式。取值: - waf:表示全部模組。 - customrule_rule:表示自訂規則特定規則。 - customrule:表示自訂規則。 - blacklist:表示 IP 黑名單。 - blacklist_rule:表示 IP 黑名單特定規則。 - antiscan:表示掃描防護。 - regular:表示基礎防護規則。 - regular_rule:表示基礎防護特定正規表示式規則。 - regular_type:表示基礎防護特定正規表示式規則類型。 - regular_field:表示基礎防護特定欄位。 - major_protection:表示重保場景防護。 - cc:表示 CC 防護。 - region_block:表示區域封鎖。 - antibot_scene:表示 BOT 場景防護。 - antibot_scene_rule:表示 BOT 場景防護特定規則 ID。 - antibot_scene_label:表示 BOT 場景防護特定規則類型。 - dlp:表示資訊洩漏防護。 - tamperproof:表示網頁防篡改。 - spike_throttle:表示洪峰限流防護。 |
| regularRules | Array | 可選 | [ "111111", "222222" ] | 不偵測正規表示式規則 ID 列表,使用 ["XX1", "XX2",……] 格式。僅白名單作用模組設定為基礎防護特定正規表示式規則(tags 參數取值為 regular_rule)時,設定此參數。 |
| regularTypes | Array | 可選 | [ "xss", "css" ] | 不偵測正規表示式規則類型列表,使用 ["XX1", "XX2",……] 格式。僅白名單作用模組設定為 Web 應用程式正規表示式類型(tags 參數取值為 regular_type)時,設定此參數。取值: - sqli:表示 SQL 注入。 - xss:表示跨站指令碼。 - code_exec:表示程式碼執行。 - crlf:表示 CRLF。 - lfilei:表示本機檔案包含。 - rfilei:表示遠端檔案包含。 - webshell:表示 WebShell。 - csrf:表示 CSRF。 - other:表示其他。 |
| regularFields | Array | 可選 | [{"key":"URL"},{"key":"Header","subKey":"abc"}] | 基礎防護不偵測欄位列表,以 JSON 字串格式進行描述,支援填寫最多五個匹配條件。具體設定資訊,請參閱 regularFields 詳細設定。僅白名單作用模組設定為基礎防護特定欄位(tags 參數取值為 regular_field)時,設定此參數。 |
| customRules | Array | 可選 | [ "111111", "222222" ] | 不偵測自訂規則 ID 列表,使用 ["XX1", "XX2",……] 格式。僅白名單作用模組設定為自訂規則特定規則(tags 參數取值為 customrule_rule)時,設定此參數。 |
| blacklistRules | Array | 可選 | [ "111111", "222222" ] | 不偵測 IP 黑名單規則 ID 列表,使用 ["XX1", "XX2",……] 格式。僅白名單作用模組設定為 IP 黑名單特定規則(tags 參數取值為 blacklist_rule)時,設定此參數。 |
| botRules | Array | 可選 | [ "111111", "222222" ] | 不偵測 BOT 場景防護規則 ID 列表,使用 ["XX1", "XX2",……] 格式。僅白名單作用模組設定為 BOT 場景防護特定規則 ID(tags 參數取值為 antibot_scene_rule)時,設定此參數。 |
| botLables | Array | 可選 | [ "abc", "cdcc" ] | 不偵測 BOT 場景防護規則類型列表,使用 ["XX1", "XX2",……] 格式。僅白名單作用模組設定為 BOT 場景防護特定規則類型(tags 參數取值為 antibot_scene_label)時,設定此參數。您可以透過呼叫 DescribeBotRuleLabels 介面檢視 BOT 的規則類型資訊。 |
regularFields 詳細設定
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| key | String | 必選 | URL | 不偵測欄位。取值: - URL-All:表示 URI 相關的全部欄位。 - URL:表示 URI 指定欄位。 - URLPath:表示 URI Path。 - Query-All:表示 Query 相關的全部欄位。 - Query-Arg:表示 Query 指定參數。 - Cookie-All:表示 Cookie 相關的全部欄位。 - Cookie-Exact:表示指定 Cookie Name。 - Header-All:表示 Header 相關的全部欄位。 - Header:表示 Header 指定欄位。 - Body-All:表示 Body 所有參數。 |
| subKey | String | 可選 | abc | 指定欄位。當不偵測欄位(key)取值為 URLPath、Query-Arg、Cookie-Exact、Header,需要設定此參數。 |
範例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 9242,
"DefenseScene": "whitelist",
"Rules":"[{\"name\":\"whitelistTest\",\"tags\":[\"regular_rule\",\"customrule\"],\"status\":1,\"origin\":\"custom\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"/test\"},{\"key\":\"Header\",\"opValue\":\"eq\",\"values\":\"ffff\",\"subKey\":\"abc\"}],\"regularRules\":[\"123444\",\"444444\"]}]"
}
自訂回應規則(custom_response)
參數描述
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| responseType | String | 必選 | response_block | 自訂回應的類型。取值 response_block,表示攔截回應。 |
| status | Integer | 必選 | 1 | 防護規則狀態。此參數僅用於建立防護規則,修改防護規則狀態時使用 ModifyDefenseRuleStatus 介面的 RuleStatus 參數。取值: - 0:表示關閉。 - 1(預設):表示開啟。 |
| config | String | 必選 | {"responseCode":400,"responseHeaders":[{"key":"custom","value":"123"},{"key":"aaa","value":"2223"}],"responseContent":"HelloWorld"} | 自訂設定資訊,以 JSON 字串格式進行描述。具體設定資訊,請參閱 config 詳細設定。 |
config 詳細設定
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| responseCode | Integer | 必選 | 400 | 指定回應碼。 |
| responseHeaders | Array | 可選 | [{"key":"custom","value":"123"},{"key":"aaaa","value":"2223"}] | 自訂回應標頭列表,以 JSON 字串格式進行描述。key 為 header 的欄位,value 為 header 的值。 |
| responseContent | String | 必選 | helloworld | 自訂回應的內容。 |
範例
{
"InstanceId": "waf_v2_public_****",
"TemplateId": 2841,
"DefenseScene": "custom_response",
"Rules":"[{\"responseType\":\"response_block\",\"config\":\"{\\\"templateName\\\":\\\"aaa\\\",\\\"responseCode\\\":\\\"400\\\",\\\"responseContent\\\":\\\"helloWorld\\\",\\\"responseHeaders\\\":[{\\\"key\\\":\\\"test1\\\",\\\"value\\\":\\\"abc\\\"}]}\",\"status\":1}]"
}
範例
{
"name": "ruleTest",
"detectType": "sqli",
"riskLevel": "strict",
"condition": [{"key": "FileName","opValue": "eq","values": "test"}]
}
地址簿(address_book)
參數描述
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| name | String | 必選 | bookTest | 地址簿名稱。長度為 1~255 個字元,可以包含中文、英文、數字、底線(_)、半形句號(.)或連字號(-)。 |
| valueType | String | 必選 | ip | 地址簿類型。取值: - ip:表示 IP 類型地址簿。 |
| description | String | 可選 | addressbookTest | 地址簿描述。 |
範例
{
"name": "bookTest",
"valueType": "ip",
"description": "addressbookTest"
}
自訂回應規則(custom_response)
參數描述
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| name | String | 必選 | test | 自訂回應規則名稱。長度為 1~255 個字元,可以包含中文、英文、數字、底線(_)、半形句號(.)或連字號(-)。 |
| action | String | 必選 | block | 防護規則動作。取值: - block:表示攔截。 - captcha:表示滑塊驗證。 |
| responseCode | Integer | 可選 | 400 | 指定回應碼。 - 自訂攔截頁面規則下此參數為必選。 - 自訂滑塊驗證頁面規則不支援指定回應碼,預設為 200。 |
| responseHeaders | Array | 可選 | [{"key":"custom","value":"123"},{"key":"aaaa","value":"2223"}] | 自訂回應標頭清單,以 JSON 字串格式進行描述。key 為 header 的欄位,value 為 header 的值。 |
| designType | String | 可選 | custom | 回應設定類型。僅自訂滑塊驗證頁面規則(即 action 為 captcha)時,需要指定此欄位值。取值: - custom:表示自訂設定。 - preDefine:表示預先定義設定。 |
| responseContent | String | 可選 | helloworld | 自訂回應的內容。自訂滑塊驗證/攔截頁面時,此參數為必選。 |
| preDefineContent | Array | 可選 | [{"language":"cn","title":"test","description":"desc","captchaColor":"#FFFF","showTraceId":false},{"language":"en","title":"titel","description":"desc","captchaColor":"#FFFF","showTraceId":false}] | 預先定義設定內容。當 designType 為 preDefine 時必傳,否則不傳。具體設定資訊,請參閱 預先定義的詳細設定。 |
預先定義的詳細設定
| 名稱 | 類型 | 是否必選 | 範例值 | 描述 |
| language | String | 必選 | en | 語言設定。取值: - en:表示英文。 - cn:表示中文。 |
| icon | String | 必選 | https://img.alicdn.com/imgextra/i1/O1CN01L12MaQ1ZwfYKk7Yrc_!!6000000003259-2-tps-900-594.png | 圖示,使用者設定的須為公網可存取的路徑。 |
| title | String | 必選 | test_title | 自訂滑塊驗證頁面標題。 |
| description | String | 必選 | For better experience, please slide to complete the verification process before accessing the web page. | 自訂滑塊驗證頁面描述。 |
| captchaColor | String | 必選 | #ff6a00 | 滑塊顏色。 |
| showTraceId | boolean | 必選 | true | 是否顯示日誌 ID。取值: - true:表示滑塊驗證頁面顯示日誌 ID。 - false:表示滑塊驗證頁面不顯示日誌 ID。 |
自訂攔截頁面設定範例
{
"name": "test",
"action": "block",
"responseContent": "helloworld",
"responseCode": 401,
"responseHeaders": [{"key":"t1","value":"v1"}],
}
預先定義滑塊驗證頁面設定範例
{
"name": "test",
"designType": "preDefine",
"action": "captcha",
"responseHeaders": [
{
"key": "Content-Type",
"value": "text/html"
}
],
"preDefineContent": [
{
"language": "en",
"icon": "https://img.alicdn.com/imgextra/i1/O1CN01L12MaQ1ZwfYKk7Yrc_!!6000000003259-2-tps-900-594.png",
"title": "Access Verification-custom",
"description": "For better experience, please slide to complete the verification process before accessing the web page.",
"captchaColor": "#ff6a00",
"showTraceId": true
}
]
}
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
返回物件結構。 |
||
| RequestId |
string |
目前請求的 ID。 |
26E46541-7AAB-5565-801D-F14DBDC5**** |
| RuleIds |
string |
建立的防護規則 ID,多個防護規則 ID 之間使用英文逗號(,)分隔。 |
22215,23354,462165 |
樣本
正常返回樣本
JSON格式
{
"RequestId": "26E46541-7AAB-5565-801D-F14DBDC5****",
"RuleIds": "22215,23354,462165"
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | Defense.Control.DefenseWhitelistBypassRuleNotExist | The whitelist protection rule does not exist. | 白名單中加白的防護規則不存在。規則 ID:%s。 |
| 400 | Defense.Control.DefenseWhitelistConfigInvalid | The whitelist rule is misconfigured. | 白名單規則的設定錯誤:%s。 |
| 400 | Defense.Control.DefenseBookTypeInvalid | The address book type is illegal. | 地址簿類型不合法。 |
| 400 | Defense.Control.DefenseThreatIntelligenceConfigInvalid | Threat Intelligence Rule configuration error. | 威脅情報規則設定錯誤。%s。 |
| 400 | Defense.Control.DefenseIpCountOversize | The number of IPs exceeds the limit. | IP 數量超過限制。 |
| 400 | Defense.Control.InvalidDefenseRuleConfig | Invalid protection rule configuration. %s. | 無效的防護規則設定。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。