Skip to content
SOptim SOptim / Docs

Reglas personalizadas

Donde Access Control te da bloqueos gruesos (país, IP), las Reglas Personalizadas te dejan expresar políticas precisas: «bloquear cualquier visitante con user-agent vacío del ASN 14061 golpeando /cart más de 10 veces en los últimos 60 segundos.»

Anatomía de una regla

Una regla tiene cuatro partes:

  1. Nombre — para tu propia referencia
  2. Condiciones — una o más, combinadas con AND
  3. Acciónallow, challenge, block
  4. Prioridad — número más bajo gana. Por defecto 100.

Las reglas se evalúan antes del pipeline basado en puntuación. Si alguna regla coincide, se ejecuta su acción y saltamos la puntuación.

Condiciones

Campo Operadores Valor ejemplo
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á anclado con ^ y $. Usa regex101.com para probar.

Ejemplos

Bloquear todos los user-agents vacíos en paths cercanos al checkout:

Campo Op Valor
user_agent empty
path prefix /checkout

Acción: block. Prioridad: 50.

Challenge a cualquiera de un ASN datacenter conocido golpeando /cart rápido:

Campo Op Valor
asn in list [16509, 14618, 14061, 8075]
path prefix /cart
rate.requests gt within 5 within 30s

Acción: challenge. Prioridad: 30.

Permitir tu servicio de monitorización aunque parezca sospechoso:

Campo Op Valor
header.x-monitor-key equals <your-shared-secret>

Acción: allow. Prioridad: 1.

Límites

Plan Reglas por tienda Almacenamiento ventana rate
Scale 25 reglas Ventana deslizante 60s
Max 100 reglas Ventana deslizante 5min

Free/Grow no tienen Reglas Personalizadas.

Probar una regla

Guarda tu regla con acción monitor (sin aplicación, solo registra una coincidencia) durante 24h. Comprueba Visitor Analytics — filtrado por reason = rule:<your-rule-name>. Si las coincidencias parecen correctas, cambia la acción a block o challenge.

Disponible en

Scale ($49/mes) y Max ($99/mes).

Last updated: 2026-05-19
Send feedback