すべてのプロダクト
Search
ドキュメントセンター

Edge Security Acceleration:演算子とグループ化記号

最終更新日:Jul 31, 2026

ルール式では、比較演算子を使用してリクエスト値と照合し、論理演算子を使用して条件を組み合わせます。

比較演算子

比較演算子は、受信リクエストの値を式で指定された値と比較します。

contains

リクエスト値に指定された文字列が含まれているかどうかをチェックします。

  • 演算子名: Contains

  • 値のタイプ: String

  • 例:

    (http.host contains "example.com")

ends_with

リクエスト値が指定された文字列で終わるかどうかをチェックします。

  • 演算子名: Ends with

  • 値のタイプ: String

  • 例:

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

eq

リクエスト値が指定された値と等しいかどうかをチェックします。

  • 演算子名: Equal to

  • 値のタイプ: String

  • 例:

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

exists

リクエストに指定されたフィールドまたは属性が存在するかどうかをチェックします。

  • 演算子名: Exists

  • 値のタイプ: String

  • 例:

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

ge

リクエスト値が指定された数値以上であるかどうかをチェックします。

  • 演算子名: Greater than or equal to

  • 値のタイプ: int

  • 例:

    (ip.geoip.asnum ge 45104)

gt

リクエスト値が指定された数値より大きいかどうかをチェックします。

  • 演算子名: Greater than

  • 値のタイプ: int

  • 例:

    (ip.geoip.asnum gt 45104)

in

リクエスト値が指定されたセット内のいずれかの値と一致するかどうかをチェックします。リストを参照するには、$ シンボルを使用します。

  • 演算子名: Is in

  • 値のタイプ: Array

  • 例:

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

    ( ip.src in $<LIST_NAME>)

le

リクエスト値が指定された数値以下であるかどうかをチェックします。

  • 演算子名: Less than or equal to

  • 値のタイプ: int

  • 例:

    (ip.geoip.asnum le 45104)

len eq

リクエスト値の長さが指定された数値と等しいかどうかをチェックします。

  • 演算子名: Length equals

  • 値のタイプ: String

  • 例:

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

len gt

リクエスト値の長さが指定された数値より大きいかどうかをチェックします。

  • 演算子名: Length is greater than

  • 値のタイプ: String

  • 例:

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

len lt

リクエスト値の長さが指定された数値より小さいかどうかをチェックします。

  • 演算子名: Length is less than

  • 値のタイプ: String

  • 例:

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

lt

リクエスト値が指定された数値より小さいかどうかをチェックします。

  • 演算子名: Less than

  • 値のタイプ: int

  • 例:

    (ip.geoip.asnum lt 45104)

matches

リクエスト値が指定された正規表現 (PCRE 互換) と一致するかどうかをチェックします。

説明

正規表現は、Premium および Enterprise プランでのみサポートされます。

  • 演算子名: Matches regex

  • 値のタイプ: String

  • 例:

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

ne

リクエスト値が指定された値と等しくないかどうかをチェックします。

  • 演算子名: Not equal to

  • 値のタイプ: String

  • 例:

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

not ends_with

リクエスト値が指定された文字列で終わらないかどうかをチェックします。

  • 演算子名: Does not end with

  • 値のタイプ: String

  • 例:

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

not exists

リクエストに指定されたフィールドまたは属性が存在しないかどうかをチェックします。

  • 演算子名: Does not exist

  • 値のタイプ: String

  • 例:

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

not starts_with

リクエスト値が指定された文字列で始まらないかどうかをチェックします。

  • 演算子名: Does not start with

  • 値のタイプ: String

  • 例:

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

not...contains

リクエスト値に指定された文字列が含まれていないかどうかをチェックします。

  • 演算子名: Does not contain

  • 値のタイプ: String

  • 例:

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

not...in

リクエスト値が指定されたセット内のどの値とも一致しないかどうかをチェックします。リストを参照するには、$ シンボルを使用します。

  • 演算子名: Is not in

  • 値のタイプ: Array

  • 例:

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

    (not ip.src in $<LIST_NAME>)

not...matches

リクエスト値が指定された正規表現 (PCRE 互換) と一致しないかどうかをチェックします。

説明

正規表現は、Premium および Enterprise プランでのみサポートされます。

  • 演算子名: Does not match regex

  • 値のタイプ: String

  • 例:

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

percent

指定されたフィールドとパーセント値に基づいてリクエストをフィルタリングします。

  • 演算子名: Percentage

  • 値のタイプ: Int

  • 値の範囲: 1~100

説明

フィールド値が空の場合 (たとえば、リクエストに指定されたヘッダーが含まれていない場合)、ルールは有効にならず、一致結果は false になります。

サポートされているフィールド:

  • ヘッダー: http.request.headers["example"]

  • クライアント IP: ip.src

  • URI クエリ文字列: http.request.uri.args["example"]

  • リクエストタイムスタンプ: http.request.timestamp.sec

例:

  • 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

リクエスト値が指定された文字列で始まるかどうかをチェックします。

  • 演算子名: Starts with

  • 値のタイプ: String

  • 例:

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

その他の演算子

lower

大文字と小文字を区別しないマッチングのために、リクエスト値を小文字に変換します。

  • 演算子名: Case-insensitive

  • 値のタイプ: String

  • 例:

    (lower(http.request.uri))

論理演算子

論理演算子は、複数の式を組み合わせて複合式を作成します。

and

結合されたすべての式が true の場合にのみ true を返します。

  • 演算子名: Logical AND

  • 例:

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

not

式の結果を否定し、true を false に、false を true に反転させます。

  • 演算子名: Logical NOT

  • 例:

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

or

結合された式のいずれかが true の場合に true を返します。

  • 演算子名: Logical OR

  • 例:

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

グループ化記号

かっこ ( と ) を使用して式の部分をグループ化し、評価順序を制御します。

グループ化記号は、式エディターと ESA API でサポートされていますが、式ビルダーではサポートされていません。

ネストされた式の例:

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