Feito com Chinaski

Spam e Privacidade de Formulários

Os formulários enfrentam a internet sem filtros, então as defesas são embutidas em vez de adicionadas: limites de taxa (página anterior) mais Turnstile, bloqueio por país, honeypot e um filtro de spam de conteúdo, e no lado da privacidade, alternadores por formulário para armazenamento de IP e retenção de dados, mais um campo de divulgação para transparência no estilo GDPR.

Cloudflare Turnstile (verificação humana)

  • Opcional por formulário (checkbox nas configurações do formulário; habilitado por padrão, ele só realmente desafia quando as chaves site/secret do Turnstile estão configuradas no site inteiro em Settings → Security).
  • Os desafios aparecem na incorporação do formulário; o CMS verifica o token no servidor, de forma não bloqueante. Solavancos de rede na chamada de verificação do Cloudflare falham abertos (a submissão é permitida) para que uma indisponibilidade nunca engula leads legítimos; um "não" analisável do desafio falha fechado e a submissão é rejeitada.
  • No modo air-gap, a verificação do Turnstile é pulada e o widget é removido independentemente das chaves armazenadas.

Bloqueio por país

  • Um formulário pode listar códigos de país ISO (separados por vírgulas) para rejeitar; requer que o proxy de frente forneça um cabeçalho de país (o CF-IPCountry do Cloudflare). Sem esse cabeçalho, nada é bloqueado, a configuração é ruído inofensivo em outras stacks.
  • Visitantes bloqueados recebem uma mensagem de região-não-aceita com um HTTP 403.

Honeypot e defesas silenciosas

  • Os formulários incluem uma armadilha para bots: submissões que preenchem o honeypot são descartadas silenciosamente, o bot vê um sucesso de aparência normal e nunca descobre que algo estava errado.
  • Uma sondagem maliciosa da própria área de arquivos do formulário é registrada como um acerto de honeypot no rastro de eventos de segurança.

Filtro de spam de conteúdo

Os campos de texto recebem uma heurística em inglês simples: pessoas reais não colam HTML ou BBCode em um formulário de contato. Um campo de texto livre contendo marcação, BBCode ou mais de uma URL é descartado silenciosamente (resposta com aparência de sucesso, nada armazenado). Os tipos de campo email, tel, URL e estruturados ficam isentos da varredura.

Chaves de privacidade (também listadas na página de Submissões)

  • Armazenar IPs dos remetentes - por formulário, desligado significa nunca escrito.
  • Sinais de privacidade do navegador (DNT / Global Privacy Control) suprimem IPs armazenados e atribuição de campanha mesmo quando o armazenamento está ligado.
  • Dias de retenção de submissões - auto-exclusão após N dias; 0 mantém para sempre.
  • Divulgação do destinatário do webhook - uma linha pública opcional exibida no formulário: "Your data will be shared with: [value]", para transparência no estilo GDPR quando as submissões alimentam um sistema externo.
  • Linha de IP na notificação - pode omitir o IP do remetente do email de notificação para administradores.
Leia este site em