Règles personnalisées
Là où Access Control vous donne des blocages grossiers (pays, IP), les Custom Rules vous laissent exprimer des politiques précises : « bloquer tout visiteur avec un user-agent vide de l'ASN 14061 frappant /cart plus de 10 fois dans les dernières 60 secondes. »
Anatomie d'une règle
Une règle a quatre parties :
- Nom — pour votre propre référence
- Conditions — une ou plus, combinées avec ET
- Action —
allow,challenge,block - Priorité — nombre plus bas gagne. Par défaut 100.
Les règles sont évaluées avant le pipeline basé score. Si une règle correspond, son action est appliquée et nous sautons le scoring.
Conditions
| Champ | Opérateurs | Valeur d'exemple |
|---|---|---|
ip |
equals, in CIDR | 203.0.113.0/24 |
country |
equals, in list | RU, [CN,KP,IR] |
asn |
equals, in list | 14061, [16509,14618] |
asn_org |
contains, regex | DigitalOcean |
user_agent |
contains, regex, empty | ^curl/ |
header.<name> |
exists, equals, regex | header.accept-language regex ^$ |
path |
equals, prefix, regex | /cart, prefix /account |
rate.requests |
gt within window | > 10 within 60s |
score |
gt, lt | > 50 |
Regex est ancré avec ^ et $. Utilisez regex101.com pour tester.
Exemples
Bloquer tous les user-agents vides sur les chemins proches du checkout :
| Champ | Op | Valeur |
|---|---|---|
user_agent |
empty | — |
path |
prefix | /checkout |
Action : block. Priorité : 50.
Challenger toute personne d'un ASN datacenter connu frappant /cart rapidement :
| Champ | Op | Valeur |
|---|---|---|
asn |
in list | [16509, 14618, 14061, 8075] |
path |
prefix | /cart |
rate.requests |
gt within | 5 within 30s |
Action : challenge. Priorité : 30.
Autoriser votre service de monitoring même s'il semble suspect :
| Champ | Op | Valeur |
|---|---|---|
header.x-monitor-key |
equals | <your-shared-secret> |
Action : allow. Priorité : 1.
Limites
| Plan | Règles par boutique | Stockage fenêtre de rate |
|---|---|---|
| Scale | 25 règles | Fenêtre glissante 60s |
| Max | 100 règles | Fenêtre glissante 5min |
Free/Grow n'ont pas de Custom Rules.
Tester une règle
Sauvegardez votre règle avec action monitor (pas d'application, journalise juste une correspondance) pendant 24h. Vérifiez Visitor Analytics — filtré par reason = rule:<your-rule-name>. Si les correspondances semblent correctes, basculez l'action sur block ou challenge.
Disponible sur
Scale ($49/mois) et Max ($99/mois).