Tous les produits
Search
Centre de documentation

Edge Security Acceleration:Opérateurs et symboles de regroupement

Dernière mise à jour :Aug 12, 2026

Les expressions de règle utilisent des opérateurs de comparaison pour faire correspondre les valeurs de requête et des opérateurs logiques pour combiner les conditions.

Opérateurs de comparaison

Les opérateurs de comparaison comparent une valeur de requête entrante à une valeur définie dans une expression.

contains

Vérifie si la valeur de la requête contient la chaîne spécifiée.

  • Nom de l'opérateur : Contains

  • Type de valeur : String

  • Exemple :

    (http.host contains "example.com")

ends_with

Vérifie si la valeur de la requête se termine par la chaîne spécifiée.

  • Nom de l'opérateur : Ends with

  • Type de valeur : String

  • Exemple :

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

eq

Vérifie si la valeur de la requête est égale à la valeur spécifiée.

  • Nom de l'opérateur : Equal to

  • Type de valeur : String

  • Exemple :

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

exists

Vérifie si un champ ou un attribut spécifié existe dans la requête.

  • Nom de l'opérateur : Exists

  • Type de valeur : String

  • Exemple :

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

ge

Vérifie si la valeur de la requête est supérieure ou égale à la valeur numérique spécifiée.

  • Nom de l'opérateur : Greater than or equal to

  • Type de valeur : int

  • Exemple :

    (ip.geoip.asnum ge 45104)

gt

Vérifie si la valeur de la requête est strictement supérieure à la valeur numérique spécifiée.

  • Nom de l'opérateur : Greater than

  • Type de valeur : int

  • Exemple :

    (ip.geoip.asnum gt 45104)

in

Vérifie si la valeur de la requête correspond à l'une des valeurs d'un ensemble spécifié. Utilisez le symbole $ pour référencer une liste.

  • Nom de l'opérateur : Is in

  • Type de valeur : Array

  • Exemple :

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

    ( ip.src in $<LIST_NAME>)

le

Vérifie si la valeur de la requête est inférieure ou égale à la valeur numérique spécifiée.

  • Nom de l'opérateur : Less than or equal to

  • Type de valeur : int

  • Exemple :

    (ip.geoip.asnum le 45104)

len eq

Vérifie si la longueur de la valeur de la requête est égale à la valeur numérique spécifiée.

  • Nom de l'opérateur : Length equals

  • Type de valeur : String

  • Exemple :

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

len gt

Vérifie si la longueur de la valeur de la requête est strictement supérieure à la valeur numérique spécifiée.

  • Nom de l'opérateur : Length is greater than

  • Type de valeur : String

  • Exemple :

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

len lt

Vérifie si la longueur de la valeur de la requête est strictement inférieure à la valeur numérique spécifiée.

  • Nom de l'opérateur : Length is less than

  • Type de valeur : String

  • Exemple :

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

lt

Vérifie si la valeur de la requête est strictement inférieure à la valeur numérique spécifiée.

  • Nom de l'opérateur : Less than

  • Type de valeur : int

  • Exemple :

    (ip.geoip.asnum lt 45104)

matches

Vérifie si la valeur de la requête correspond à une expression régulière spécifiée (compatible PCRE).

Remarque

Seules les offres Premium et Enterprise prennent en charge les expressions régulières.

  • Nom de l'opérateur : Matches regex

  • Type de valeur : String

  • Exemple :

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

ne

Vérifie si la valeur de la requête est différente de la valeur spécifiée.

  • Nom de l'opérateur : Not equal to

  • Type de valeur : String

  • Exemple :

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

not ends_with

Vérifie si la valeur de la requête ne se termine pas par la chaîne spécifiée.

  • Nom de l'opérateur : Does not end with

  • Type de valeur : String

  • Exemple :

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

not exists

Vérifie si un champ ou un attribut spécifié n'existe pas dans la requête.

  • Nom de l'opérateur : Does not exist

  • Type de valeur : String

  • Exemple :

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

not starts_with

Vérifie si la valeur de la requête ne commence pas par la chaîne spécifiée.

  • Nom de l'opérateur : Does not start with

  • Type de valeur : String

  • Exemple :

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

not...contains

Vérifie si la valeur de la requête ne contient pas la chaîne spécifiée.

  • Nom de l'opérateur : Does not contain

  • Type de valeur : String

  • Exemple :

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

not...in

Vérifie si la valeur de la requête ne correspond à aucune valeur d'un ensemble spécifié. Utilisez le symbole $ pour référencer une liste.

  • Nom de l'opérateur : Is not in

  • Type de valeur : Array

  • Exemple :

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

    (not ip.src in $<LIST_NAME>)

not...matches

Vérifie si la valeur de la requête ne correspond pas à une expression régulière spécifiée (compatible PCRE).

Remarque

Seules les offres Premium et Enterprise prennent en charge les expressions régulières.

  • Nom de l'opérateur : Does not match regex

  • Type de valeur : String

  • Exemple :

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

percent

Filtre les requêtes selon un champ spécifié et une valeur de pourcentage.

  • Nom de l'opérateur : Percentage

  • Type de valeur : Int

  • Plage de valeurs : 1 à 100

Remarque

Si la valeur du champ est vide (par exemple, si la requête n'inclut pas l'en-tête spécifié), la règle ne s'applique pas et le résultat de la correspondance est false.

Champs pris en charge :

  • En-tête : http.request.headers["example"]

  • IP client : ip.src

  • Chaîne de requête URI : http.request.uri.args["example"]

  • Horodatage de la requête : http.request.timestamp.sec

Exemples :

  • 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

Vérifie si la valeur de la requête commence par la chaîne spécifiée.

  • Nom de l'opérateur : Starts with

  • Type de valeur : String

  • Exemple :

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

Autres opérateurs

lower

Convertit la valeur de la requête en minuscules pour une correspondance insensible à la casse.

  • Nom de l'opérateur : Case-insensitive

  • Type de valeur : String

  • Exemple :

    (lower(http.request.uri))

Opérateurs logiques

Les opérateurs logiques combinent plusieurs expressions en une expression composite.

and

Renvoie vrai uniquement lorsque toutes les expressions combinées sont vraies.

  • Nom de l'opérateur : Logical AND

  • Exemple :

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

not

Inverse le résultat d'une expression, transformant vrai en faux et inversement.

  • Nom de l'opérateur : Logical NOT

  • Exemple :

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

or

Renvoie vrai si l'une des expressions combinées est vraie.

  • Nom de l'opérateur : Logical OR

  • Exemple :

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

Symboles de regroupement

Utilisez les parenthèses ( et ) pour regrouper des parties d'expression et contrôler l'ordre d'évaluation.

Les symboles de regroupement sont pris en charge dans l'éditeur d'expressions et l'API ESA, mais pas dans le générateur d'expressions.

Exemple d'expression imbriquée :

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