En bref. Utiliser http.request.uri.path avec eq pour un chemin exact, ou combiner l’égalité et starts_with() pour la racine d’une section et ses sous-chemins.
Définition : Une règle personnalisée du pare-feu applicatif web (Web Application Firewall, WAF) de Cloudflare applique une action aux requêtes qui correspondent à une expression. Une condition portant sur
http.request.uri.pathlimite la règle à un chemin ou à une section de contenu ; une condition sur le nom d’hôte la restreint à un hôte précis.
Points clés
- Au 17 octobre 2026, la documentation des règles personnalisées de Cloudflare décrit une règle comme une expression associée à une action, telle que Block ou Managed Challenge.
- La référence du champ de chemin de Cloudflare définit
http.request.uri.pathcomme le chemin de l’URI de la requête et donne/articles/indexen exemple. - La référence des fonctions de Cloudflare définit
starts_with()comme un test vérifiant qu’une chaîne commence par une sous-chaîne donnée. - La documentation des opérateurs de Cloudflare présente
eqcomme l’opérateur d’égalité et précise que la comparaison des chaînes tient compte de la casse.
Comment une règle cible-t-elle un chemin exact ?
Une condition sur un chemin exact utilise eq. La référence du champ de nom d’hôte de Cloudflare définit http.host comme le nom d’hôte dans l’URI de la requête, issu de l’en-tête Host de la requête d’origine du client.
L’expression suivante, donnée à titre d’exemple, combine les champs de nom d’hôte et de chemin documentés. Elle sélectionne /articles/index sur www.example.org :
(http.host eq "www.example.org" and
http.request.uri.path eq "/articles/index")
Les valeurs du nom d’hôte et du chemin sont à remplacer par la cible souhaitée sur le site. Avec l’action Block, cette expression refuse les requêtes correspondantes. Une requête vers /articles/index/ présente une valeur de chemin différente et ne satisfait pas cette condition d’égalité.
Comment une règle couvre-t-elle une section entière de contenu ?
La documentation des fonctions de Cloudflare définit starts_with() comme un test de préfixe. En appliquant cette définition, l’expression suivante, donnée à titre d’exemple, couvre la racine de la section /articles et les chemins commençant par /articles/ :
(http.host eq "www.example.org" and
(http.request.uri.path eq "/articles" or
starts_with(http.request.uri.path, "/articles/")))
Ici, /articles, /articles/ et /articles/index correspondent sur le nom d’hôte indiqué. La barre oblique finale du préfixe exclut /articles-other de cette condition. Le préfixe /articles seul sélectionnerait aussi ce chemin voisin.
La documentation du regroupement de Cloudflare explique comment les parenthèses déterminent l’ordre d’évaluation. Les parenthèses internes soumettent les deux variantes de chemin à la condition de nom d’hôte. La même documentation précise que les expressions regroupées nécessitent l’éditeur d’expressions (Expression Editor) ou l’API.
Où l’expression est-elle déployée ?
Le guide du tableau de bord de Cloudflare situe la création d’une règle personnalisée dans Security rules > Create rule > Custom rules. L’Expression Editor accepte les expressions regroupées ci-dessus. Sous Then take action, l’action sélectionnée détermine le traitement des requêtes correspondantes ; Deploy enregistre et déploie la règle.
Pour valider la règle avant sa mise en application, le guide documente l’action Log pour les offres Enterprise. Une condition portant uniquement sur le chemin sélectionne toutes les requêtes correspondantes. Une restriction propre à un robot d’exploration (crawler) nécessite donc une condition supplémentaire sur la requête, reliée par and, avec un regroupement qui l’applique à l’ensemble de la section sélectionnée.
Comment vérifier les correspondances ?
La documentation Security Events de Cloudflare décrit Sampled logs comme un sous-ensemble des événements de sécurité. Développer un événement affiche ses détails, et Add filter restreint les données affichées selon un champ, un opérateur et une valeur.
Pour l’expression ciblant une section, un contrôle pratique compare les requêtes vers /articles, /articles/index et /articles-other sur le nom d’hôte voulu. Ces exemples permettent de tester la racine exacte, le préfixe délimité par une barre oblique et un chemin voisin exclu. Les détails des événements aident à établir si la règle et l’action prévues traitent les requêtes correspondantes. Du fait de l’échantillonnage, un événement individuel peut être absent de la liste affichée.
Termes associés
- Dans quel ordre Cloudflare évalue-t-il les règles WAF personnalisées ?
- Comment créer une règle d’exclusion dans le WAF de Cloudflare ?
- Comment cibler un user-agent dans une règle personnalisée Cloudflare ?
Questions fréquentes
Une règle Block portant uniquement sur le chemin affecte-t-elle les visiteurs humains ?
Oui. La documentation des règles personnalisées de Cloudflare lie l’action à l’expression de correspondance. Si vous sélectionnez uniquement un chemin, les requêtes humaines correspondant à ce chemin font également l’objet de cette action.
Les majuscules et minuscules influent-elles sur la correspondance ?
Oui. La documentation de la comparaison des chaînes de Cloudflare précise que la comparaison tient compte de la casse. Vous devez respecter les majuscules et minuscules souhaitées lors de la définition d’une condition de chemin ; /Articles diffère de /articles.
Sources
- Cloudflare, « Custom rules », 16 octobre 2026
- Cloudflare, « http.request.uri.path », sans date
- Cloudflare, « http.host », sans date
- Cloudflare, « Functions », 14 octobre 2026
- Cloudflare, « Operators and grouping symbols », 1er octobre 2026
- Cloudflare, « Create a custom rule in the dashboard », 8 octobre 2026
- 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