Skip to content
SOptim SOptim / Docs

Regras personalizadas

Enquanto Access Control te dá bloqueios grossos (país, IP), Regras personalizadas te deixam expressar políticas precisas: "bloqueie qualquer visitante com user-agent vazio do ASN 14061 acessando /cart nos últimos 60 segundos mais de 10 vezes."

Anatomia de uma regra

Uma regra tem quatro partes:

  1. Nome — para sua própria referência
  2. Condições — uma ou mais, combinadas com AND
  3. Açãoallow, challenge, block
  4. Prioridade — número menor vence. Padrão 100.

Regras são avaliadas antes do pipeline baseado em score. Se uma regra der match, sua ação é tomada e pulamos a pontuação.

Condições

Campo Operadores Exemplo de valor
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 é ancorada com ^ e $. Use regex101.com para testar.

Exemplos

Bloqueie todos os user-agents vazios em paths adjacentes ao checkout:

Campo Op Valor
user_agent empty
path prefix /checkout

Ação: block. Prioridade: 50.

Desafie qualquer um de um ASN datacenter conhecido acessando /cart rápido:

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

Ação: challenge. Prioridade: 30.

Permita seu serviço de monitoramento mesmo que pareça suspeito:

Campo Op Valor
header.x-monitor-key equals <seu-secret-compartilhado>

Ação: allow. Prioridade: 1.

Limites

Plano Regras por loja Storage de janela de rate
Scale 25 regras Janela deslizante de 60s
Max 100 regras Janela deslizante de 5min

Free/Grow não têm Regras personalizadas.

Testando uma regra

Salve sua regra com ação monitor (sem aplicação, só loga um match) por 24h. Verifique Visitor Analytics — filtrado por reason = rule:<nome-da-sua-regra>. Se os matches parecem certos, mude a ação para block ou challenge.

Disponível em

Scale ($49/mês) e Max ($99/mês).

Last updated: 2026-05-19
Send feedback