All Products
Search
Document Center

Web Application Firewall:Kondisi pencocokan

Last Updated:Oct 17, 2026

Saat mengonfigurasi whitelist rules, custom rules, atau bot management rules, Anda harus mengatur match conditions untuk menentukan karakteristik permintaan yang akan dicocokkan. Topik ini menjelaskan bidang-bidang yang didukung oleh match conditions beserta interpretasinya.

Apa itu match conditions

Match conditions merujuk pada karakteristik permintaan yang perlu diperiksa oleh Web Application Firewall (WAF). Saat mengonfigurasi whitelist rules, Custom rules, atau Bot management, Anda menetapkan Match Condition untuk menentukan karakteristik permintaan yang akan diperiksa. Jika sebuah permintaan memenuhi match conditions yang dikonfigurasi dalam suatu aturan, maka permintaan tersebut cocok dengan aturan yang bersangkutan. WAF kemudian menerapkan rule action yang telah dikonfigurasi dalam aturan tersebut untuk memproses permintaan sesuai kebutuhan, seperti mengizinkan, memblokir, atau memverifikasi permintaan.Match conditions

Match Condition terdiri dari Match Field, Logical Operator, dan Match Content. Tabel berikut menunjukkan contoh konfigurasi:

Match Field

Logical Operator

Match Content

Deskripsi

URI Path

Contains

/login.php

Permintaan cocok dengan aturan ini jika request path mengandung /login.php.

IP

Belongs to

192.1.XX.XX

Permintaan cocok dengan aturan ini jika client IP adalah 192.1.XX.XX.

Bidang pencocokan yang didukung

Tabel berikut mencantumkan bidang-bidang yang didukung oleh match conditions beserta aturan terkaitnya.

  1. Definisi advanced rules dan penagihan

    • Definisi: Suatu aturan dikategorikan sebagai advanced rule jika memenuhi salah satu kondisi berikut:

      • Menggunakan salah satu match fields berikut: Cookie, Content-Type, Content-Length, X-Forwarded-For, Body, Http-Method, File Extension, Filename, Server-Port, Header, Cookie Name, atau Body Parameter.

      • Menyertakan kondisi pencocokan atau ketidakcocokan ekspresi reguler.

    • WAF Pay-as-you-go: Advanced rules dan basic rules memiliki standar penagihan yang berbeda. Untuk rincian harga, lihat Penagihan pay-as-you-go.

    • WAF Subscription: Hanya edisi Enterprise atau lebih tinggi yang mendukung advanced rules. Untuk perbedaan fitur antar edisi, lihat Edisi dan fitur WAF.

  2. Mekanisme pencocokan

    • Sensitivitas huruf besar/kecil: Kecuali ditentukan lain, match content untuk semua match fields tidak peka terhadap huruf besar/kecil (case-insensitive).

    • Penanganan encoding: Untuk konten permintaan yang mengandung encoding umum seperti URL encoding, HTML encoding, atau Unicode encoding, sistem secara otomatis melakukan decoding terhadap konten tersebut sebelum melakukan pencocokan.

Match field

Deskripsi

Operator logika yang didukung

URI

Uniform Resource Identifier (URI) dari sebuah permintaan, yang menunjukkan path dari resource yang diminta. Secara umum, URI = URI Path + Query String.

Match content yang sesuai diawali dengan / dan tidak menyertakan domain name. Contohnya, /login.php.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Length equals, Length is greater than, Length is less than

  • Starts with, Ends with

  • Regular Expression Match, Regular Expression Mismatch

IP

Alamat IP sumber dari permintaan, yaitu alamat IP client yang memulai permintaan tersebut.

Match content harus memenuhi persyaratan berikut:

  • Alamat IPv4 (misalnya, 1.XX.XX.1) dan alamat IPv6 (misalnya, 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff) didukung.

  • Rentang alamat IP (misalnya, 1.XX.XX.1/16) didukung.

  • Tekan Enter setelah memasukkan setiap alamat IP untuk mengonfirmasi.

  • Hingga 100 alamat IP didukung.

Belongs To, Does Not Belong To

Catatan

Satu aturan proteksi mendukung hingga 100 alamat IP atau rentang alamat IP. Misalnya, jika sebuah aturan proteksi berisi dua match conditions dengan IP sebagai match field, jumlah total alamat IP atau rentang alamat IP dalam kedua match conditions tersebut tidak boleh melebihi 100. Pisahkan beberapa alamat IP atau rentang alamat IP dengan koma (,).

Referer

URL sumber dari permintaan, yaitu halaman asal dari mana permintaan tersebut dialihkan.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Exists, Does not exist

  • Is empty

  • Length equals, Length is greater than, Length is less than

  • Starts with, Ends with

  • Regular Expression Match, Regular Expression Mismatch

User-Agent

Informasi browser dari client yang memulai permintaan, mencakup identifier browser, identifier rendering engine, dan informasi versi.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Exists, Does not exist

  • Is empty

  • Length equals, Length is greater than, Length is less than

  • Starts with, Ends with

  • Regular Expression Match, Regular Expression Mismatch

Query String

String kueri dalam permintaan, khususnya bagian setelah tanda tanya (?) dalam URL.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Exists, Does not exist

  • Length equals, Length is greater than, Length is less than

  • Starts with, Ends with

  • Regular Expression Match, Regular Expression Mismatch

Cookie

Informasi cookie dalam permintaan.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Exists, Does not exist

  • Length equals, Length is greater than, Length is less than

  • Regular Expression Match, Regular Expression Mismatch

Content-Type

Tipe konten HTTP yang ditentukan dalam permintaan, yaitu informasi tipe Multipurpose Internet Mail Extensions (MIME).

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Length equals, Length is greater than, Length is less than

  • Regular Expression Match, Regular Expression Mismatch

Content-Length

Jumlah byte yang terkandung dalam konten permintaan. Nilai yang valid: 0 hingga 2.147.483.648.

  • Equals, Is greater than, Is less than

X-Forwarded-For

Alamat IP aktual client dalam permintaan. Bidang header X-Forwarded-For (XFF) digunakan untuk mengidentifikasi alamat IP asli client untuk permintaan yang diteruskan melalui proxy HTTP atau load balancer. Bidang ini hanya disertakan dalam permintaan yang diteruskan oleh proxy HTTP atau load balancer.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does Not Contain

  • Does Not Exist

  • Length equals, Length is greater than, Length is less than

Body

Informasi konten dari permintaan.

  • Equals

  • Contains

  • Does Not Exist

  • Starts with, Ends with

  • Regular Expression Match

Http-Method

Metode permintaan, termasuk GET, POST, DELETE, PUT, OPTIONS, CONNECT, HEAD, TRACE, dan PATCH.

  • Equals, Does not equal, Equals one of, Does not equal any of

Header

Informasi header dari permintaan. Bidang header kustom didukung.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Exists, Does not exist

  • Length equals, Length is greater than, Length is less than

  • Regular Expression Match, Regular Expression Mismatch

URI Path

Path URI dari permintaan.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Length equals, Length is greater than, Length is less than

  • Starts with, Ends with

  • Regular Expression Match, Regular Expression Mismatch

Query String Parameter

Nama parameter dari request parameter. Request parameter merujuk pada bagian setelah tanda tanya (?) dalam request URL. Misalnya, dalam www.aliyundoc.com/request_path?param1=a&param2=b, baik param1 maupun param2 merupakan request parameters.

Catatan

Parameter kustom dari Query String Parameter peka terhadap huruf besar/kecil (case-sensitive).

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Exists, Does not exist

  • Is empty

  • Length equals, Length is greater than, Length is less than

  • Starts with, Ends with

Server-Port

Port server.

  • Equals, Does not equal, Equals one of, Does not equal any of

File Extension

Ekstensi file dari file yang diminta, misalnya .png dan .php.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Exists, Does not exist

  • Is empty

  • Length equals, Length is greater than, Length is less than

  • Starts with, Ends with

  • Regular Expression Match, Regular Expression Mismatch

Filename

Nama file di akhir request path. Misalnya, dalam /abc/index.php, index.php menunjukkan nama file.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Exists, Does not exist

  • Is empty

  • Length equals, Length is greater than, Length is less than

  • Starts with, Ends with

  • Regular Expression Match, Regular Expression Mismatch

Host

Domain name yang diminta.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Exists, Does not exist

  • Is empty

  • Length equals, Length is greater than, Length is less than

  • Starts with, Ends with

  • Regular Expression Match, Regular Expression Mismatch

Cookie Name

Nama kunci dari cookie. Misalnya, dalam cookie acw_tc:111, acw_tc adalah nama kunci dari cookie tersebut.

Catatan

Cookie-Exact kustom dari Cookie Name peka terhadap huruf besar/kecil (case-sensitive).

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Exists, Does not exist

  • Is empty

  • Length equals, Length is greater than, Length is less than

  • Starts with, Ends with

  • Regular Expression Match

Body Parameter

  • Basic rules

    • Bidang ini digunakan untuk menentukan nama parameter dalam request body. Pencocokan bersifat case-sensitive.

    • Panjang match content harus lebih dari 4 karakter. Jika tidak, sistem tidak dapat mendeteksi traffic yang sesuai.

  • Spesifikasi format

    • Parameter reguler: Masukkan nama kunci parameter secara langsung. Misalnya, jika request body adalah a=1&b=2, masukkan a atau b.

    • JSON bersarang: Gunakan format hierarki yang dipisahkan titik berupa ParentKey.ChildKey. Misalnya, jika Anda perlu mencocokkan nilai dalam {"userInfo": {"userId": "12345"}}, masukkan userInfo.userId.

  • Equals, Does not equal, Equals one of, Does not equal any of

  • Contains, Does not contain, Contains one of, Does not contain any of

  • Exists, Does not exist

  • Is empty

  • Length equals, Length is greater than, Length is less than

  • Starts with, Ends with

  • Regular Expression Match

Client-ID

Identifier client (seperti browser atau aplikasi), yang mengidentifikasi client asal permintaan HTTP berdasarkan karakteristik seperti informasi User Agent dan sidik jari traffic.

Catatan

Hanya didukung oleh modul Bot Management > Advanced Custom Rules.

  • Contains, Does Not Contain

  • Equals, Does Not Equal

  • Equals One of Multiple Values

JA3 Fingerprint

Sebuah string yang dihasilkan dengan melakukan penghashan MD5 pada parameter kunci selama proses jabat tangan TLS, termasuk Versi TLS, paket sandi, algoritma kompresi, dan ekstensi TLS. String ini merepresentasikan konfigurasi TLS dari client dan disebut sebagai Sidik Jari JA3.

Sidik Jari JA3 dapat digunakan untuk mengidentifikasi dan membedakan berbagai jenis client TLS, seperti web browser, aplikasi seluler, dan malware.

Catatan

Hanya didukung oleh modul Bot Management > Advanced Custom Rules.

  • Equals, Does Not Equal

  • Equals One of Multiple Values

JA4 Fingerprint

Sidik Jari JA4 memperkenalkan lebih banyak informasi kontekstual dan algoritma, seperti versi browser dan sistem operasi, untuk mengurangi potensi masalah duplikasi yang disebabkan oleh Sidik Jari JA3.

Sidik Jari JA4 dapat mengidentifikasi pengguna asli versus penyamar dengan lebih akurat, sehingga menurunkan tingkat positif palsu.

Catatan

Hanya didukung oleh modul Bot Management > Advanced Custom Rules.

  • Equals, Does Not Equal

  • Equals One of Multiple Values

HTTP/2 Fingerprint

Sidik jari HTTP/2.0 yang dihasilkan dengan memproses sidik jari asli klien HTTP/2 menggunakan algoritma MD5. Ini digunakan untuk menganalisis dan mengidentifikasi berbagai client guna mencapai komunikasi yang lebih aman dan efisien.

Catatan

Hanya didukung oleh modul Bot Management > Advanced Custom Rules.

  • Equals, Does Not Equal

  • Equals One of Multiple Values

IDC

Mengidentifikasi sumber traffic berdasarkan data atribusi IP sumber. Cloud server memiliki biaya yang lebih rendah dan mudah dieksploitasi oleh aktor jahat untuk melakukan serangan.

Catatan

Hanya didukung oleh modul Bot Management > Advanced Custom Rules.

Equals One of Multiple Values, Does Not Equal Any Value

Web SDK

Mengidentifikasi traffic tidak normal berdasarkan informasi probe yang dikumpulkan oleh Web SDK, seperti UMID web dan jumlah tekanan keyboard/mouse/layar sentuh.

Catatan

Hanya didukung oleh modul Bot Management > Advanced Custom Rules.

  • Equals

  • Value Greater Than, Value Less Than

App SDK

Memungkinkan kontrol detail halus berdasarkan informasi probe yang dikumpulkan oleh App SDK.

Catatan

Hanya didukung oleh modul Bot Management > Advanced Custom Rules.

  • Contains, Does Not Contain

  • Equals, Does Not Equal

  • Length Less Than, Length Equal To, Length Greater Than

  • Equals One of Multiple Values, Does Not Equal Any Value

  • Contains One of Multiple Values, Does Not Contain Any Value

  • Regular Expression Match, Regular Expression Mismatch

  • Prefix Match, Suffix Match

  • Exists, Does Not Exist

  • Content Is Empty