Skip to content
SOptim SOptim / Docs

Regole personalizzate

Dove Access Control ti dà blocchi a granularità grossa (paese, IP), le regole personalizzate ti permettono di esprimere politiche precise: "blocca qualsiasi visitatore con user-agent vuoto da ASN 14061 che colpisce /cart negli ultimi 60 secondi più di 10 volte."

Anatomia di una regola

Una regola ha quattro parti:

  1. Nome — per tuo riferimento
  2. Condizioni — una o più, combinate con AND
  3. Azioneallow, challenge, block
  4. Priorità — il numero più basso vince. Default 100.

Le regole sono valutate prima della pipeline basata su score. Se una regola matcha, la sua azione viene presa e saltiamo la valutazione.

Condizioni

Campo Operatori Esempio di valore
ip uguale, in CIDR 203.0.113.0/24
country uguale, in lista RU, [CN,KP,IR]
asn uguale, in lista 14061, [16509,14618]
asn_org contiene, regex DigitalOcean
user_agent contiene, regex, vuoto ^curl/
header.<nome> esiste, uguale, regex header.accept-language regex ^$
path uguale, prefisso, regex /cart, prefisso /account
rate.requests gt entro finestra > 10 entro 60s
score gt, lt > 50

I regex sono ancorati con ^ e $. Usa regex101.com per testare.

Esempi

Blocca tutti gli user-agent vuoti su path vicini al checkout:

Campo Op Valore
user_agent vuoto
path prefisso /checkout

Azione: block. Priorità: 50.

Sfida chiunque da un ASN datacenter noto che colpisce /cart velocemente:

Campo Op Valore
asn in lista [16509, 14618, 14061, 8075]
path prefisso /cart
rate.requests gt entro 5 entro 30s

Azione: challenge. Priorità: 30.

Consenti il tuo servizio di monitoraggio anche se sembra sospetto:

Campo Op Valore
header.x-monitor-key uguale <tuo-secret-condiviso>

Azione: allow. Priorità: 1.

Limiti

Piano Regole per negozio Storage finestra di rate
Scale 25 regole finestra scorrevole 60s
Max 100 regole finestra scorrevole 5min

Free/Grow non hanno regole personalizzate.

Testare una regola

Salva la tua regola con azione monitor (nessun enforcement, solo log del match) per 24h. Controlla Visitor Analytics — filtrato per reason = rule:<nome-della-tua-regola>. Se i match sembrano giusti, cambia azione in block o challenge.

Disponibile su

Scale ($49/mese) e Max ($99/mese).

Last updated: 2026-05-19
Send feedback