All Products
Search
Document Center

Edge Security Acceleration:Operator dan simbol pengelompokan

Last Updated:Jul 31, 2026

Ekspresi aturan menggunakan comparison operators untuk mencocokkan nilai permintaan dan logical operators untuk menggabungkan kondisi.

Comparison operators

Comparison operators membandingkan nilai permintaan masuk dengan nilai yang ditentukan dalam suatu ekspresi.

contains

Memeriksa apakah nilai permintaan berisi string yang ditentukan.

  • Nama operator: Contains

  • Jenis nilai: String

  • Contoh:

    (http.host contains "example.com")

ends_with

Memeriksa apakah nilai permintaan diakhiri dengan string yang ditentukan.

  • Nama operator: Ends with

  • Jenis nilai: String

  • Contoh:

    (ends_with(http.host, "cn"))

eq

Memeriksa apakah nilai permintaan sama dengan nilai yang ditentukan.

  • Nama operator: Equal to

  • Jenis nilai: String

  • Contoh:

    (http.host eq "www.example.com")

exists

Memeriksa apakah bidang atau atribut tertentu ada dalam permintaan.

  • Nama operator: Exists

  • Jenis nilai: String

  • Contoh:

    (exists(http.request.headers["user-agent"]))

ge

Memeriksa apakah nilai permintaan lebih besar dari atau sama dengan nilai numerik yang ditentukan.

  • Nama operator: Greater than or equal to

  • Jenis nilai: int

  • Contoh:

    (ip.geoip.asnum ge 45104)

gt

Memeriksa apakah nilai permintaan lebih besar dari nilai numerik yang ditentukan.

  • Nama operator: Greater than

  • Jenis nilai: int

  • Contoh:

    (ip.geoip.asnum gt 45104)

in

Memeriksa apakah nilai permintaan cocok dengan salah satu nilai dalam himpunan yang ditentukan. Gunakan simbol $ untuk mereferensikan daftar.

  • Nama operator: Is in

  • Jenis nilai: Array

  • Contoh:

    (http.host in {"www.example.com" "blog.example.com"})

    (ip.src in $<LIST_NAME>)

le

Memeriksa apakah nilai permintaan kurang dari atau sama dengan nilai numerik yang ditentukan.

  • Nama operator: Less than or equal to

  • Jenis nilai: int

  • Contoh:

    (ip.geoip.asnum le 45104)

len eq

Memeriksa apakah panjang nilai permintaan sama dengan nilai numerik yang ditentukan.

  • Nama operator: Length equals

  • Jenis nilai: String

  • Contoh:

    (len(http.request.cookies["session"]) eq 330688)

len gt

Memeriksa apakah panjang nilai permintaan lebih besar dari nilai numerik yang ditentukan.

  • Nama operator: Length is greater than

  • Jenis nilai: String

  • Contoh:

    (len(http.request.cookies["session"]) gt 330688)

len lt

Memeriksa apakah panjang nilai permintaan kurang dari nilai numerik yang ditentukan.

  • Nama operator: Length is less than

  • Jenis nilai: String

  • Contoh:

    (len(http.request.cookies["session"]) lt 330688)

lt

Memeriksa apakah nilai permintaan kurang dari nilai numerik yang ditentukan.

  • Nama operator: Less than

  • Jenis nilai: int

  • Contoh:

    (ip.geoip.asnum lt 45104)

matches

Memeriksa apakah nilai permintaan cocok dengan ekspresi reguler yang ditentukan (kompatibel PCRE).

Catatan

Hanya paket Premium dan Enterprise yang mendukung ekspresi reguler.

  • Nama operator: Matches regex

  • Jenis nilai: String

  • Contoh:

    (http.host matches "(www|blog)\.example\.com")

ne

Memeriksa apakah nilai permintaan tidak sama dengan nilai yang ditentukan.

  • Nama operator: Not equal to

  • Jenis nilai: String

  • Contoh:

    (http.host ne "www.example.com")

not ends_with

Memeriksa apakah nilai permintaan tidak diakhiri dengan string yang ditentukan.

  • Nama operator: Does not end with

  • Jenis nilai: String

  • Contoh:

    (not ends_with(http.host, "cn"))

not exists

Memeriksa apakah bidang atau atribut tertentu tidak ada dalam permintaan.

  • Nama operator: Does not exist

  • Jenis nilai: String

  • Contoh:

    (not exists(http.request.headers["user-agent"]))

not starts_with

Memeriksa apakah nilai permintaan tidak diawali dengan string yang ditentukan.

  • Nama operator: Does not start with

  • Jenis nilai: String

  • Contoh:

    (not starts_with(http.host, "blog"))

not...contains

Memeriksa apakah nilai permintaan tidak berisi string yang ditentukan.

  • Nama operator: Does not contain

  • Jenis nilai: String

  • Contoh:

    (not http.host contains "example.com")

not...in

Memeriksa apakah nilai permintaan tidak cocok dengan nilai apa pun dalam himpunan yang ditentukan. Gunakan simbol $ untuk mereferensikan daftar.

  • Nama operator: Is not in

  • Jenis nilai: Array

  • Contoh:

    (not http.host in {"www.example.com" "blog.example.com"})

    (not ip.src in $<LIST_NAME>)

not...matches

Memeriksa apakah nilai permintaan tidak cocok dengan ekspresi reguler yang ditentukan (kompatibel PCRE).

Catatan

Hanya paket Premium dan Enterprise yang mendukung ekspresi reguler.

  • Nama operator: Does not match regex

  • Jenis nilai: String

  • Contoh:

    (not http.host matches "(www|blog)\.example\.com")

percent

Menyaring permintaan berdasarkan bidang dan nilai persentase yang ditentukan.

  • Nama operator: Percentage

  • Jenis nilai: Int

  • Rentang nilai: 1 hingga 100

Catatan

Jika nilai bidang kosong (misalnya, permintaan tidak menyertakan header yang ditentukan), aturan tidak berlaku, dan hasil pencocokan adalah false.

Bidang yang didukung:

  • Header: http.request.headers["example"]

  • IP klien: ip.src

  • String kueri URI: http.request.uri.args["example"]

  • Timestamp permintaan: http.request.timestamp.sec

Contoh:

  • percent(http.request.headers["example"],80)

  • percent(ip.src,80)

  • percent(http.request.cookies["example"],80)

  • percent(http.request.args["example"],80)

  • percent(http.request.timestamp.sec,80)

starts_with

Memeriksa apakah nilai permintaan diawali dengan string yang ditentukan.

  • Nama operator: Starts with

  • Jenis nilai: String

  • Contoh:

    (starts_with(http.host, "blog"))

Other operators

lower

Mengonversi nilai permintaan menjadi huruf kecil untuk pencocokan tanpa membedakan huruf besar/kecil.

  • Nama operator: Case-insensitive

  • Jenis nilai: String

  • Contoh:

    (lower(http.request.uri))

Logical operators

Logical operators menggabungkan beberapa ekspresi menjadi ekspresi komposit.

and

Mengembalikan true hanya jika semua ekspresi yang digabungkan bernilai true.

  • Nama operator: Logical AND

  • Contoh:

    ((http.host eq "www.example.com") and (ip.geoip.country eq "CN"))

not

Membalikkan hasil ekspresi, mengubah true menjadi false dan sebaliknya.

  • Nama operator: Logical NOT

  • Contoh:

    not (http.host eq "www.example.com")

or

Mengembalikan true jika salah satu ekspresi yang digabungkan bernilai true.

  • Nama operator: Logical OR

  • Contoh:

    ((http.host eq "www.example.com") or (ip.geoip.country eq "CN"))

Grouping symbols

Gunakan tanda kurung ( dan ) untuk mengelompokkan bagian ekspresi dan mengontrol urutan evaluasi.

Simbol pengelompokan didukung di editor ekspresi dan API ESA, tetapi tidak didukung di pembuat ekspresi.

Contoh ekspresi bersarang:

(http.host eq "www.example.com" and ((http.referer in {"download.example.com"}) or (http.referer in {"image.example.com"})))