Mengambil aturan yang dikonfigurasi dalam modul perlindungan WAF, seperti pencegahan intrusi web, keamanan data, manajemen bot, kontrol akses atau throttling, serta modul allowlist.
Deskripsi operasi
Operasi ini mendukung kueri terpaginasi untuk aturan di salah satu modul perlindungan WAF berikut: pencegahan intrusi web, keamanan data, manajemen bot, kontrol akses atau throttling, dan allowlist.
Tetapkan DefenseType untuk menentukan modul perlindungan yang akan ditanyakan.
Batasan
Maksimal 50 panggilan per detik per akun. Melebihi batas ini memicu throttling, yang dapat memengaruhi layanan Anda.
Debugging
Parameter permintaan
| Parameter | Type | Required | Example | Description |
|---|---|---|---|---|
| Action | String | Yes | DescribeProtectionModuleRules | Operasi yang akan dilakukan. Tetapkan nilainya ke DescribeProtectionModuleRules. |
| InstanceId | String | Yes | waf_elasticity-cn-0xldbqt\*\*\*\* | ID instans WAF. Panggil DescribeInstanceInfo untuk mendapatkan ID instans. |
| DefenseType | String | Yes | ac_highfreq | Modul perlindungan yang akan ditanyakan. Nilai yang valid: waf-codec (konfigurasi decoding Mesin Aturan Perlindungan), tamperproof (perlindungan tampering website), dlp (pencegahan kebocoran data), ng_account (keamanan akun), bot_crawler (crawler yang diizinkan), bot_intelligence (intelijen ancaman bot), antifraud (kontrol risiko data), antifraud_js (konfigurasi plug-in JavaScript untuk kontrol risiko data), bot_algorithm (algoritma cerdas), bot_wxbb_pkg (perlindungan versi untuk Perlindungan Aplikasi), bot_wxbb (perlindungan path untuk Perlindungan Aplikasi), ac_blacklist (daftar blokir alamat IP), ac_highfreq (pemblokiran serangan web frekuensi tinggi), ac_dirscan (perlindungan pemindaian), ac_custom (kebijakan perlindungan kustom), whitelist (allowlist) |
| Domain | String | No | www.aliyundoc.com | Nama domain yang akan ditanyakan. Diperlukan ketika DefenseType diatur ke nilai selain ng_account. Jika DefenseType diatur ke ng_account, biarkan parameter ini kosong — menentukan nilai akan mengembalikan error. Panggil DescribeDomainList untuk mendapatkan semua nama domain yang dilindungi oleh WAF. |
| PageNumber | Integer | No | 1 | Nomor halaman. Nilai default: 1. |
| PageSize | Integer | No | 10 | Jumlah entri per halaman. Nilai default: 10. |
| Query | String | No | e2ZpbHRlcjp7InJ1bGVJZCI6NDI3NTV9LG9yZGVyQnk6ImdtdF9tb2RpZmllZCIsZGVzYzp0cnVlfQ== | Kriteria filter dan pengurutan untuk kueri, dikodekan Base64. Nilai yang didekode adalah string JSON dengan bidang berikut: filter (opsional, objek JSON), orderBy (opsional, string), desc (opsional, Boolean). Lihat bagian Query parameter structure untuk detailnya. |
| Lang | String | No | zh | Bahasa nama aturan. Nilai yang valid: zh (Tiongkok), en (Inggris), ja (Jepang) |
| ResourceGroupId | String | No | rg-acfm2pz25js\*\*\*\* | ID kelompok sumber daya tempat instans WAF berada di Resource Management. Jika tidak ditentukan, instans WAF termasuk dalam kelompok sumber daya default. |
Untuk parameter permintaan umum, lihat Parameter Umum.
Struktur parameter Query
Nilai parameter Query harus dikodekan Base64. Nilai yang didekode merupakan string JSON dengan bidang-bidang berikut.
filter (opsional, objek JSON) — kondisi filter:
| Field | Type | Description |
|---|---|---|
| nameId | String | Memfilter aturan yang ID-nya cocok dengan nilai, atau yang namanya mengandung nilai tersebut. |
| scene | String | Modul perlindungan yang akan difilter. Nilai yang valid sama dengan nilai DefenseType. |
| enabled | Boolean | Memfilter berdasarkan status aturan. true: diaktifkan. false: dinonaktifkan. |
| status | Integer | Memfilter berdasarkan status aturan. 1: diaktifkan. 0: dinonaktifkan. Memiliki arti yang sama dengan enabled. |
| ruleId | Integer | ID aturan yang akan difilter. |
| ruleIdList | Array | Daftar ID aturan yang akan difilter. Pisahkan beberapa ID dengan koma (,). |
| sceneList | Array | Daftar modul perlindungan yang akan difilter. Pisahkan beberapa modul dengan koma (,). Nilai yang valid sama dengan nilai DefenseType. |
| originList | Array | Daftar sumber aturan yang akan difilter. Pisahkan beberapa sumber dengan koma (,). Nilai yang valid: system (dihasilkan sistem), custom (dibuat pengguna). |
| tag | String | Berlaku ketika DefenseType adalah whitelist. Memfilter aturan allowlist berdasarkan modul yang dilewati. Lihat struktur Content allowlist untuk nilai yang valid. |
| origin | String | Berlaku ketika DefenseType adalah whitelist. Tetapkan ke ai untuk hanya mengembalikan aturan yang ditambahkan secara otomatis oleh fitur hosting aturan cerdas. Jika tidak ditetapkan, semua aturan allowlist dikembalikan. |
| category | String | Berlaku ketika DefenseType adalah whitelist. Memfilter berdasarkan jenis allowlist. Nilai yang valid: waf (allowlist website), ws (allowlist pencegahan intrusi web), ac (allowlist kontrol akses/throttling), ds (allowlist keamanan data). |
orderBy (opsional, String) — bidang pengurutan. Nilai yang valid:
gmt_modified: waktu terakhir aturan dimodifikasi (default)
action: aksi yang dilakukan ketika aturan sesuai (hanya berlaku untuk aturan kustom)
name: nama aturan
status: status aturan
desc (opsional, Boolean) — urutan pengurutan. true: menurun (default). false: menaik.
Parameter respons
| Parameter | Type | Example | Description |
|---|---|---|---|
| RequestId | String | D7861F61-5B61-46CE-A47C-6B19160D5EB0 | ID permintaan. |
| TotalCount | Integer | 1 | Jumlah total aturan yang dikembalikan. |
| Rules | Array of Rule | Daftar aturan. Setiap aturan berisi bidang-bidang yang dijelaskan di bawah. |
Rule fields:
| Field | Type | Example | Description |
|---|---|---|---|
| RuleId | Long | 42755 | ID aturan. |
| Status | Long | 1 | Status aturan. 1: diaktifkan. 0: dinonaktifkan. |
| Time | Long | 1570700044 | Waktu pembuatan aturan, sebagai stempel waktu UNIX dalam satuan detik. |
| Version | Long | 2 | Versi aturan. |
| Content | Map | Konten aturan. Strukturnya bervariasi berdasarkan DefenseType. Lihat bagian Content parameter structures. |
Struktur parameter Content
Struktur bidang Content bervariasi berdasarkan nilai DefenseType.
waf-codec
| Field | Type | Required | Description |
|---|---|---|---|
| codecList | String | Yes | Item decoding yang diaktifkan. |
Contoh:
{
"codecList": ["url", "base64"]
}tamperproof
| Field | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | Nama aturan. |
| uri | String | Yes | URL yang akan dilindungi. |
| status | Integer | No | Status aturan. 1: diaktifkan. 0: dinonaktifkan (default). |
Contoh:
{
"name": "example",
"uri": "http://www.example.com/example",
"status": 1
}dlp
| Field | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | Nama aturan. |
| conditions | Array | Yes | Kondisi pencocokan (maksimal dua, digabungkan dengan logika AND). Setiap kondisi adalah objek JSON dengan bidang-bidang berikut: key (item yang dicocokkan: 0 untuk URL, 10 untuk data sensitif, 11 untuk kode status HTTP), operation (tetap sebagai 1, artinya INCLUDES), value (array nilai yang dicocokkan). Di setiap entri nilai: v berlaku ketika key adalah 0 atau 11 (string URL, atau kode status HTTP: 400–404, 405–499, 500–504, 505–599); k berlaku ketika key adalah 10 (100: nomor KTP, 101: nomor kartu kredit, 102: nomor telepon, 103: kata sensitif default). |
| action | Integer | Yes | Aksi yang dilakukan ketika aturan sesuai. 3: menghasilkan alert. 10: menyaring data sensitif (hanya berlaku ketika key adalah 10). 11: mengembalikan halaman blokir bawaan (hanya berlaku ketika key adalah 11). |
Contoh:
{
"name": "example",
"conditions": [
{"key": 11, "operation": 1, "value": [{"v": 401}]},
{"key": "0", "operation": 1, "value": [{"v": "www.example.com"}]}
],
"action": 3
}ng_account
| Field | Type | Required | Description |
|---|---|---|---|
| domain | String | Yes | Nama domain yang dilindungi oleh WAF. |
| method | String | Yes | Metode permintaan yang akan dideteksi. Nilai yang valid: POST, GET, PUT, DELETE. Pisahkan beberapa nilai dengan koma (,). |
| url_path | String | Yes | Path URL yang akan dideteksi. Harus diawali dengan garis miring (/). |
| account_left | String | Yes | Parameter akun. |
| password_left | String | No | Parameter password. |
| action | String | Yes | Aksi yang dilakukan ketika aturan sesuai. monitor: menghasilkan alert. block: memblokir permintaan. |
Contoh:
{
"domain": "www.example.com",
"method": "GET,POST",
"url_path": "/example",
"account_left": "aaa",
"action": "monitor"
}bot_crawler
| Field | Type | Required | Description |
|---|---|---|---|
| Status | Integer | Yes | Status aturan. 1: diaktifkan. 0: dinonaktifkan. |
| Version | Integer | Yes | Versi aturan. |
| Content | String (JSON) | Yes | Detail aturan. Berisi: name (nama aturan), conditions (kondisi path URL; tetap kosong untuk bot_crawler, artinya semua path dilindungi), expressions (ekspresi kondisional), bypassTags (tetap sebagai antibot untuk bot_crawler), tags (tetap sebagai ["antibot"] untuk bot_crawler). |
| RuleId | Integer | Yes | ID aturan. |
| Time | String | Yes | Stempel waktu UNIX modifikasi terakhir, dalam satuan detik. |
Contoh:
{
"Status": 0,
"Version": 1,
"Content": {
"name": "Baidu Spider whitelist",
"conditions": [],
"expressions": ["remote_addr inl 'ioc.210d077a-cf34-49ad-a9b3-0aa48095c595' && uri =^ '/'"],
"bypassTags": "antibot",
"tags": ["antibot"]
},
"RuleId": 20384,
"Time": 1585818161
}bot_intelligence
| Field | Type | Required | Description |
|---|---|---|---|
| Status | Integer | Yes | Status aturan. 1: diaktifkan. 0: dinonaktifkan. |
| Version | Integer | Yes | Versi aturan. |
| Content | String (JSON) | Yes | Detail aturan. Berisi: name (nama aturan), action (aksi yang dilakukan: monitor, captcha, captcha_strict, js untuk tantangan JavaScript, block), urlList (maksimal 10 path URL yang dilindungi, masing-masing dengan mode (eq, prefix-match, atau regex) dan url yang diawali /), keyType (jenis pustaka intelijen: ip untuk pustaka alamat IP, ua untuk pustaka sidik jari). |
| RuleId | Integer | Yes | ID aturan. |
| Time | String | Yes | Stempel waktu UNIX modifikasi terakhir, dalam satuan detik. |
Contoh:
{
"Status": 1,
"Version": 1,
"Content": {
"name": "IDC IP Address Library-Tencent Cloud",
"action": "captcha_strict",
"urlList": [
{"mode": "prefix-match", "url": "/indexa"},
{"mode": "regex", "url": "/"},
{"mode": "eq", "url": "/"}
],
"keyType": "ip"
},
"RuleId": 922777,
"Time": 1585907112
}antifraud
| Field | Type | Required | Description |
|---|---|---|---|
| uri | String | Yes | URL yang akan dilindungi. |
Contoh:
{
"uri": "http://1.example.com/example"
}antifraud_js
| Field | Type | Required | Description |
|---|---|---|---|
| uri | String | Yes | Path URL halaman web tempat plug-in JavaScript untuk kontrol risiko data disisipkan. Harus diawali dengan garis miring (/). Sistem menyisipkan plug-in ke semua halaman di bawah path yang ditentukan. |
Contoh:
{
"uri": "/example/example"
}bot_algorithm
| Field | Type | Required | Description |
|---|---|---|---|
| Status | Integer | Yes | Status aturan. 1: diaktifkan. 0: dinonaktifkan. |
| Version | Integer | Yes | Versi aturan. |
| Content | String (JSON) | Yes | Detail aturan. Berisi: name (nama aturan), timeInterval (interval deteksi dalam detik; nilai valid: 30, 60, 120, 300, 600), action (monitor, captcha, js untuk tantangan JavaScript, block; jika diatur ke block, blocktime wajib diisi), blocktime (durasi pemblokiran dalam menit; nilai valid: 1–600), algorithmName (lihat nama algoritma di bawah), config (konfigurasi spesifik algoritma). |
| RuleId | Integer | Yes | ID aturan. |
| Time | String | Yes | Stempel waktu UNIX modifikasi terakhir, dalam satuan detik. |
Nama algoritma untuk `algorithmName`:
| Value | Description |
|---|---|
| RR | Mengidentifikasi crawler sumber daya |
| PR | Mengidentifikasi crawler path |
| DPR | Mengidentifikasi crawler round-robin parameter |
| SR | Mengidentifikasi crawler alamat IP dinamis |
| IND | Mengidentifikasi crawler perangkat proxy |
| Periodicity | Mengidentifikasi crawler periodik |
Bidang `config` berdasarkan algoritma:
RR: resourceType (Integer, opsional: 1 sumber daya dinamis, 2 sumber daya statis, -1 sumber daya kustom dengan ekstensi di extensions), minRequestCountPerIp (Integer, wajib; nilai valid: 5–10000), minRatio (Float, wajib; nilai valid: 0,01–1).
PR: keyPathConfiguration (Array, opsional; maksimal 10 path URL, masing-masing dengan method, url, dan matchType (all untuk pencocokan eksak, prefix untuk pencocokan awalan, regex untuk ekspresi reguler)), minRequestCountPerIp (Integer, wajib; nilai valid: 5–10000), minRatio (Float, wajib; nilai valid: 0,01–1).
DPR: method (String, wajib; nilai valid: POST, GET, PUT, DELETE, HEAD, OPTIONS), urlPattern (String, wajib; path dengan parameter kunci diapit {}), minRequestCountPerIp (Integer, wajib; nilai valid: 5–10000), minRatio (Float, wajib; nilai valid: 0,01–1).
SR: maxRequestCountPerSrSession (Integer, wajib; nilai valid: 1–8; sesi dengan jumlah permintaan lebih sedikit dianggap abnormal), minSrSessionCountPerIp (Integer, wajib; nilai valid: 5–300; alamat IP dengan jumlah sesi abnormal melebihi ambang batas ini ditandai).
IND: minIpCount (Integer, wajib; nilai valid: 5–500; alamat IP yang diakses oleh lebih dari jumlah IP ini melalui perangkat Wi-Fi yang sama ditandai), keyPathConfiguration (Array, opsional; struktur sama seperti PR).
Periodicity: minRequestCountPerIp (Integer, wajib; nilai valid: 5–10000), level (Integer, wajib: 0 jelas, 1 moderat, 2 lemah).
Contoh:
{
"Status": 1,
"Version": 1,
"Content": {
"name": "Dynamic IP address",
"timeInterval": 60,
"action": "warn",
"algorithmName": "IND",
"config": {
"minIpCount": 5,
"keyPathConfiguration": [{"method": "GET", "matchType": "prefix", "url": "/index"}]
}
},
"RuleId": 940180,
"Time": 1585832957
}bot_wxbb_pkg
| Field | Type | Required | Description |
|---|---|---|---|
| Version | Integer | Yes | Versi aturan. |
| Content | String (JSON) | Yes | Detail aturan. Berisi: name (nama aturan), action (test: memantau permintaan, close: memblokir permintaan), nameList (informasi versi untuk paket valid, maksimal 5 entri; setiap entri memiliki name (nama paket) dan signList (signature, maksimal 15 per paket, dipisahkan koma)). |
| RuleId | Integer | Yes | ID aturan. |
| Time | String | Yes | Stempel waktu UNIX modifikasi terakhir, dalam satuan detik. |
Contoh:
{
"Version": 0,
"Content": {
"nameList": [{"signList": ["xxxxxx", "xxxxx", "xxxx", "xx"], "name": "apk-xxxx"}],
"name": "test",
"action": "close"
},
"RuleId": 271,
"Time": 1585836143
}bot_wxbb
| Field | Type | Required | Description |
|---|---|---|---|
| Version | Integer | Yes | Versi aturan. |
| Content | String (JSON) | Yes | Detail aturan. Berisi: name (nama aturan), uri (path URL yang akan dilindungi; harus diawali /), matchType (all untuk pencocokan eksak, prefix untuk pencocokan awalan, regex untuk ekspresi reguler), arg (parameter yang disertakan; digunakan dengan matchType untuk menentukan path), action (test: memantau permintaan, close: memblokir permintaan), blockInvalidSign (Boolean; apakah bertindak pada signature tidak valid), blockProxy (Boolean; apakah bertindak pada proxy), blockSimulator (Boolean; apakah bertindak pada simulator), wxbbVmpFieldType (Integer, opsional; jenis bidang signature: 0 header, 1 parameter, 2 cookie; hanya dikembalikan ketika bidang signature kustom dikonfigurasi), wxbbVmpFieldValue (String, opsional; nilai bidang signature; hanya dikembalikan ketika bidang signature kustom dikonfigurasi). |
| RuleId | Integer | Yes | ID aturan. |
| Time | String | Yes | Stempel waktu UNIX modifikasi terakhir, dalam satuan detik. |
Contoh:
{
"Version": 6,
"Content": {
"blockInvalidSign": true,
"wxbbVmpFieldValue": "test",
"blockSimulator": true,
"matchType": "all",
"arg": "test",
"name": "test",
"action": "close",
"blockProxy": true,
"uri": "/index",
"wxbbVmpFieldType": 1
},
"RuleId": 2585,
"Time": 1586241849
}ac_blacklist
| Field | Type | Required | Description |
|---|---|---|---|
| empty | Boolean | Yes | Menentukan apakah daftar blokir alamat IP kosong. |
| remoteAddr | Array | Yes | Alamat IP dalam daftar blokir. |
| area | String | Yes | Aturan pemblokiran wilayah, sebagai string JSON yang berisi countryCodes, regionCodes, dan not (apakah mengizinkan akses). Negara dan wilayah yang diblokir dikembalikan sebagai kode. Periksa Konsol WAF untuk nama yang sesuai. |
Contoh:
{
"empty": false,
"remoteAddr": ["1.XX.XX.1", "12.XX.XX.2"]
}ac_highfreq
| Field | Type | Required | Description |
|---|---|---|---|
| interval | Integer | Yes | Interval deteksi, dalam detik. Nilai valid: 5–1800. |
| ttl | Integer | No | Durasi pemblokiran, dalam detik. Nilai valid: 60–86400. |
| count | Integer | Yes | Ambang batas jumlah serangan. Alamat IP yang melebihi jumlah serangan ini selama interval deteksi akan diblokir. Nilai valid: 2–50000. |
Contoh:
{
"interval": 60,
"ttl": 300,
"count": 60
}ac_dirscan
| Field | Type | Required | Description |
|---|---|---|---|
| interval | Integer | Yes | Interval deteksi, dalam detik. Nilai valid: 5–1800. |
| ttl | Integer | Yes | Durasi pemblokiran, dalam detik. |
| count | Integer | Yes | Jumlah maksimum permintaan yang diizinkan dari satu alamat IP. Nilai valid: 2–50000. |
| weight | Float | Yes | Ambang batas proporsi respons HTTP 404 terhadap total permintaan. Nilai valid: (0, 1]. |
| uriNum | Integer | Yes | Jumlah maksimum path yang dapat dipindai. Nilai valid: 2–50000. |
Contoh:
{
"interval": 10,
"ttl": 1800,
"count": 50,
"weight": 0.7,
"uriNum": 20
}ac_custom
Struktur Content bervariasi berdasarkan bidang scene.
scene: custom_acl (aturan ACL)
| Field | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | Nama aturan. |
| scene | String | Yes | Jenis kebijakan perlindungan. Tetap sebagai custom_acl. |
| action | String | Yes | Aksi yang dilakukan ketika aturan sesuai. Nilai yang valid: monitor (memantau permintaan), captcha (CAPTCHA slider), captcha_strict (CAPTCHA slider ketat), js (tantangan JavaScript), block (memblokir permintaan). |
| conditions | Array | Yes | Kondisi pencocokan. Setiap kondisi adalah objek JSON dengan: key (item yang dicocokkan: URL, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, URLPath), opCode (relasi logis; lihat nilai opCode), values (nilai yang dicocokkan), contain (relasi logis; nilai sama seperti opCode), opValue (deskripsi singkat relasi logis), pattern (nilai sama seperti opValue). |
| expressions | Array | Yes | Ekspresi kondisional yang merepresentasikan semua kondisi. |
Nilai opCode:
| opCode | Meaning |
|---|---|
| 0 | tidak mencakup |
| 1 | mencakup |
| 2 | tidak ada |
| 10 | tidak sama dengan |
| 11 | sama dengan |
| 20 | panjang kurang dari |
| 21 | panjang sama dengan |
| 22 | panjang lebih dari |
| 41 | sama dengan salah satu dari beberapa nilai |
| 50 | tidak sama dengan nilai apa pun |
| 51 | mencakup salah satu dari beberapa nilai |
| 52 | tidak mencakup nilai apa pun |
| 60 | tidak cocok dengan ekspresi reguler |
| 61 | cocok dengan ekspresi reguler |
| 72 | cocok dengan awalan |
| 80 | konten kosong |
| 81 | cocok dengan akhiran |
| 82 | ada |
Contoh:
{
"name": "test2",
"action": "monitor",
"conditions": [{"contain": 1, "values": "login", "pattern": "contain", "opCode": 1, "opValue": "contain", "key": "URL"}],
"expressions": ["request_uri contains 'login'"],
"scene": "custom_acl"
}scene: custom_cc (aturan perlindungan flood HTTP)
| Field | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | Nama aturan. |
| scene | String | Yes | Jenis kebijakan perlindungan. Tetap sebagai custom_cc. |
| conditions | Array | Yes | Kondisi pencocokan. Struktur sama seperti kondisi custom_acl. |
| expressions | Array | Yes | Ekspresi kondisional yang merepresentasikan semua kondisi. |
| action | String | Yes | Aksi yang dilakukan ketika aturan sesuai. Nilai yang valid: monitor, captcha, captcha_strict, js (tantangan JavaScript), block. |
| ratelimit | String (JSON) | Yes | Konfigurasi pembatasan laju. Berisi: target (jenis objek yang diukur: remote_addr untuk alamat IP, cookie.acw_tc untuk sesi, queryarg untuk parameter kustom, cookie untuk cookie kustom, header untuk header kustom), subkey (wajib ketika target adalah queryarg, cookie, atau header; menentukan nama parameter, cookie, atau header), interval (Integer; jendela pengukuran dalam detik), threshold (Integer; jumlah maksimum permintaan yang diizinkan per objek dalam jendela pengukuran), status (objek JSON opsional dengan code (kode status HTTP), count (ambang batas jumlah kali kode status dikembalikan; nilai valid: 1–999999999; saling eksklusif dengan ratio), ratio (ambang batas persentase kali kode status dikembalikan; nilai valid: 1–100; saling eksklusif dengan count))), scope (rule untuk objek yang sesuai kondisi, domain untuk semua permintaan nama domain), ttl (Integer; durasi aksi pemblokiran dalam detik; nilai valid: 60–86400). |
Contoh:
{
"name": "HTTP flood protection rule",
"conditions": [{"contain": 1, "values": "login", "pattern": "contain", "opCode": 1, "opValue": "contain", "key": "URL"}],
"expressions": ["request_uri contains 'login'"],
"action": "block",
"scene": "custom_cc",
"ratelimit": {
"target": "remote_addr",
"interval": 300,
"threshold": 2000,
"status": {
"code": 404,
"count": 200
},
"scope": "rule",
"ttl": 1800
}
}whitelist
| Field | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | Nama aturan. |
| tags | Array | Yes | Modul perlindungan yang dilewati. Nilai yang valid: waf (allowlist website), cc (perlindungan flood HTTP), customrule (kebijakan perlindungan kustom), blacklist (daftar blokir alamat IP), antiscan (perlindungan pemindaian), regular (Mesin Aturan Perlindungan), deeplearning (mesin pembelajaran mendalam), antifraud (kontrol risiko data), dlp (pencegahan kebocoran data), tamperproof (perlindungan tampering website), bot_intelligence (intelijen ancaman bot), bot_algorithm (algoritma cerdas), bot_wxbb (perlindungan aplikasi). |
| bypassTags | String | Yes | Modul perlindungan yang melewati deteksi. |
| origin | String | No | Sumber aturan allowlist. Jika dikembalikan sebagai ai, aturan tersebut ditambahkan secara otomatis oleh fitur hosting aturan cerdas. Jika tidak dikembalikan, hasilnya mencakup aturan yang ditambahkan secara manual dan aturan yang ditambahkan secara otomatis. |
| conditions | Array | Yes | Kondisi pencocokan. Struktur sama seperti kondisi ac_custom. |
| expressions | Array | Yes | Ekspresi kondisional yang merepresentasikan semua kondisi. |
Contoh:
{
"name": "test",
"tags": ["cc", "customrule"],
"bypassTags": "antifraud,dlp,tamperproof",
"conditions": [{"contain": 1, "values": "login", "pattern": "contain", "opCode": 1, "opValue": "contain", "key": "URL"}],
"expressions": ["request_uri contains 'login'"]
}Contoh
Permintaan contoh:
http(s)://[Endpoint]/?Action=DescribeProtectionModuleRules
&InstanceId=waf_elasticity-cn-0xldbqt****
&Domain=www.example.com
&DefenseType=ac_highfreq
&<Common request parameters>Respons sukses contoh (XML):
HTTP/1.1 200 OK
Content-Type:application/xml
<?xml version="1.0" encoding="UTF-8" ?>
<DescribeProtectionModuleRulesResponse>
<TotalCount>1</TotalCount>
<Rules>
<Version>2</Version>
<Status>1</Status>
<Content>
<count>60</count>
<interval>60</interval>
<ttl>300</ttl>
</Content>
<RuleId>42755</RuleId>
<Time>1570700044</Time>
</Rules>
<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>
</DescribeProtectionModuleRulesResponse>Respons sukses contoh (JSON):
HTTP/1.1 200 OK
Content-Type:application/json
{
"TotalCount": 1,
"Rules": [{
"Version": 2,
"Status": 1,
"Content": {
"count": 60,
"interval": 60,
"ttl": 300
},
"RuleId": 42755,
"Time": 1570700044
}],
"RequestId": "D7861F61-5B61-46CE-A47C-6B19160D5EB0"
}Kode kesalahan
Untuk daftar kode kesalahan, kunjungi API Error Center.