Comment cibler un user-agent dans une règle personnalisée Cloudflare ?

L'équipe Citead, mis à jour le

En bref. Utilisez http.user_agent avec contains, eq ou lower() dans une règle personnalisée Cloudflare, et une vérification distincte pour évaluer l’identité du robot d’exploration.

Définition : Une condition sur l’agent utilisateur (user-agent) dans une règle personnalisée Cloudflare compare le champ http.user_agent, qui contient l’en-tête HTTP User-Agent de la requête, à une chaîne donnée. La règle associe cette expression de correspondance à une action telle que Block.

Points clés

  • Au 17 octobre 2026, la documentation des règles personnalisées de Cloudflare décrit des paramètres distincts pour l’expression et l’action, avec une évaluation des règles dans l’ordre.
  • La référence du champ définit http.user_agent comme une chaîne contenant l’en-tête HTTP User-Agent de la requête.
  • La référence des opérateurs de Cloudflare décrit des comparaisons de chaînes sensibles à la casse et l’opérateur wildcard, insensible à la casse.
  • La documentation sur la validation des adresses IP de Cloudflare décrit une vérification à partir d’une liste publique d’adresses IP fournie par le propriétaire ou d’une résolution DNS inverse fondée sur le domaine, associée à un motif de correspondance de l’agent utilisateur.

Où saisir l’expression ?

Les instructions du tableau de bord de Cloudflare situent la création d’une règle sous Security rules > Create rule > Custom rules. Le nom de la règle identifie la configuration. Sous When incoming requests match, le générateur visuel compare un champ sélectionné à une valeur au moyen d’un opérateur. La section Then take action définit la réponse aux requêtes qui remplissent la condition.

La documentation de l’éditeur d’expressions indique que la commande Edit expression, à côté de Expression Preview, permet de saisir une expression textuelle. L’éditeur prend en charge des fonctions telles que lower(). Cloudflare valide les expressions avant leur enregistrement. Save as Draft conserve une règle sans la déployer ; Deploy l’enregistre et l’active.

Quelle expression correspond au texte recherché ?

Les expressions suivantes illustrent l’application des opérateurs documentés par Cloudflare au champ de l’agent utilisateur. Chaque bloc propose une autre condition de correspondance.

Pour rechercher un en-tête contenant la sous-chaîne Googlebot, en respectant la casse :

http.user_agent contains "Googlebot"

Cette condition correspond aussi aux chaînes d’en-tête plus longues contenant ce texte. Pour exiger que la valeur complète de l’en-tête soit égale à Googlebot :

http.user_agent eq "Googlebot"

Pour comparer une sous-chaîne sans tenir compte de la casse, lower() convertit la valeur du champ en minuscules avant de la comparer à une chaîne littérale en minuscules :

lower(http.user_agent) contains "googlebot"

La même documentation réserve la recherche par expression régulière à matches, disponible avec les offres Business et Enterprise. Les astérisques servent de caractères génériques avec wildcard et strict wildcard ; contains effectue une comparaison de sous-chaînes.

En quoi la correspondance diffère-t-elle de la vérification d’un robot d’exploration ?

Une correspondance sur l’en-tête seule n’authentifie pas l’émetteur. La documentation de Google sur la vérification des requêtes traite des requêtes qui prétendent provenir de Google et précise les contrôles à effectuer : comparaison avec les plages d’adresses IP publiées ou résolution DNS inverse suivie d’une confirmation par résolution DNS directe.

Dans Cloudflare, le champ booléen cf.client.bot indique si une requête provient d’un robot ou d’un robot d’exploration reconnu comme légitime. Voici un exemple de condition associant cette classification au texte de l’en-tête :

cf.client.bot and http.user_agent contains "Googlebot"

Ici, cf.client.bot fournit la classification de Cloudflare et la comparaison de l’en-tête restreint la correspondance au texte recherché. Les méthodes de validation des adresses IP de Cloudflare utilisent des listes d’adresses fournies par le propriétaire ou une résolution DNS inverse fondée sur le domaine pour valider les adresses des robots. Une condition portant uniquement sur l’en-tête ne convient donc pas comme seul contrôle d’identité pour une exception de sécurité.

Comment vérifier le résultat ?

La documentation de Security Events de Cloudflare décrit les événements correspondant aux requêtes sur lesquelles les produits de sécurité interviennent ou qu’ils signalent. La colonne User agent permet d’examiner le trafic correspondant ; déplier un événement en affiche les détails. Les journaux échantillonnés contiennent un sous-ensemble des événements, et une plage temporelle plus étroite peut réduire l’échantillonnage.

L’ordre des règles compte également. La documentation des règles personnalisées indique qu’une action Block exécutée par une règle précédente interrompt l’exécution des règles suivantes pour cette requête. L’examen de l’action et de la fonctionnalité de sécurité appliquée permet de distinguer la règle visée d’un autre contrôle affectant la requête.

Termes associés

Questions fréquentes

Pourquoi les majuscules et les minuscules changent-elles le résultat ?

La documentation des opérateurs de Cloudflare précise que contains et eq sont sensibles à la casse. Vous pouvez utiliser lower(http.user_agent) avec une valeur de comparaison en minuscules pour tenir compte des différences de casse.

Puis-je revenir au générateur visuel après avoir ajouté lower() ?

La documentation de l’éditeur de Cloudflare indique que le générateur visuel ne prend pas en charge les appels de fonctions. Vous devrez peut-être poursuivre la modification de l’expression dans l’éditeur de texte.

Sources

  1. Cloudflare, « Custom rules », 16 octobre 2026
  2. Cloudflare, « http.user_agent », sans date
  3. Cloudflare, « Operators and grouping symbols », 1er octobre 2026
  4. Cloudflare, « IP validation », 15 avril 2026
  5. Cloudflare, « Create a custom rule in the dashboard », 8 octobre 2026
  6. Cloudflare, « Edit expressions in the dashboard », 16 avril 2026
  7. Google, « Verify requests from Google crawlers and fetchers », 20 mars 2026
  8. Cloudflare, « cf.client.bot », sans date
  9. Cloudflare, « Security Events », 2 octobre 2026

Vérifiez comment une page se lit pour les moteurs de réponse. Ouvrir l’analyseur de score GEO

Testez une page et voyez quoi corriger en premier

L'analyse prend en général moins de 10 secondes et ne demande pas de compte.

400 000+ pages notées dans le benchmark public