Gerador Honeypot Form Field
Gere snippets HTML+CSS para campo honeypot anti-spam (input invisível para bots, acessível a usuários humanos) com timestamp opcional.
Honeypot em formulário: filtro de spam invisível
Um honeypot é um campo de formulário que nenhum humano vê, mas que a maioria dos bots de spam preenche com prazer. O truque explora uma lacuna de comportamento: bots simples varrem o HTML e despejam texto em todo <input> que encontram, em especial os de nomes familiares como website, url, phone2 ou email_address. O usuário real, que enxerga o DOM renderizado, nunca toca no campo escondido — então, se o servidor recebe um valor não vazio, ele descarta o envio como bot.
Um honeypot robusto em HTML
Esconder o campo é delicado. display:none e visibility:hidden são óbvios demais — bots modernos checam os dois antes de preencher. A receita mais eficaz é renderizar o campo fora da tela, mas ainda no layout, e removê-lo da navegação por teclado:
<input type="text" name="website" tabindex="-1"
autocomplete="off" aria-hidden="true"
style="position:absolute;left:-9999px;
width:1px;height:1px;opacity:0;">
No servidor, o check é uma linha só: se request.body.website não estiver vazio, rejeita como spam. Combine com um check de tempo: armazene o timestamp de renderização em um campo oculto e rejeite envios que chegam em menos de 3 segundos — humanos simplesmente não digitam tão rápido.
Prós e contras
- Pró: invisível para o usuário — zero fricção, ao contrário de CAPTCHA com quebra-cabeça ou checkbox "Não sou robô".
- Pró: grátis, sem chamada a terceiro, sem vazamento de privacidade, sem precisar liberar domínio no CSP.
- Contra: bots sofisticados (Playwright, Puppeteer com comportamento humanizado) leem o CSS computado e sabem pular o campo.
- Contra: alguns leitores de tela ainda podem anunciar o campo — sempre combine com
aria-hidden="true"etabindex="-1". - Cuidado: nunca dê ao campo armadilha o nome
password,emailouname— o autofill do navegador vai preencher para um usuário real e disparar falso positivo.
Defesa em profundidade
Honeypot é uma camada, não bala de prata. Stacks anti-spam de produção combinam:
- Honeypot + time-trap (pega bots burros, ~90% do volume de spam)
- Rate limiting por IP / por sessão (pega rajadas)
- Tokens CSRF (bloqueia replay cross-site)
- Cloudflare Turnstile ou hCaptcha invisível em formulários de alto risco — alternativas modernas ao reCAPTCHA sem quebra-cabeça de imagem
- Pontuação de conteúdo (Akismet em comentários WordPress, Bayesiano custom em outros)
Onde é usado no mundo real
Formulários de comentários do WordPress incluem honeypot via plugins como Antispam Bee e WPBruiser; o popular Contact Form 7 tem um add-on de honeypot embutido. O framework PHP CodeIgniter documenta um security helper honeypot. A tendência 2024-2025 é parear honeypot com Cloudflare Turnstile, formando um CAPTCHA efetivamente invisível que pega os bots que o honeypot deixa passar, sem nunca pedir para o usuário identificar semáforos.
Perguntas frequentes
Bot avançado consegue ver o honeypot? Sim — navegadores headless dirigidos por Playwright ou Puppeteer leem o estilo computado e pulam a armadilha. Por isso se combina honeypot com check de timestamp e CAPTCHA real em formulários de alto valor.
Devo combinar com reCAPTCHA? Honeypot primeiro (pega o tráfego barato e barulhento) e CAPTCHA invisível depois (Turnstile ou reCAPTCHA v3) é o stack recomendado. Honeypot sozinho já basta em formulários de baixo risco como newsletter signup.
Atrapalha a acessibilidade? Pode atrapalhar, se você esquecer aria-hidden="true". Alguns leitores de tela leem o input fora da tela e confundem o usuário. Sempre adicione atributos ARIA e tabindex="-1".
E honeypots tipo "quanto é 2+3?"? Pegam muito bot, mas são CAPTCHAs disfarçados e adicionam fricção. Pior: são pesadelo de acessibilidade para usuários com discalculia. Prefira a abordagem de campo invisível.
Ferramentas Relacionadas
Gerador de Comando nmap (Completo)
Monta uma varredura nmap com alvo, intervalo de portas, tipo de scan (SYN/Connect/UDP) e detecção de serviço.
Gerador de Par de Chaves SSH (Ed25519)
Gere par de chaves SSH Ed25519 client-side prontos para usar em ~/.ssh/, com fingerprint SHA256 e formato OpenSSH.
Gerador de curl form
Monte um curl com -F/--form (multipart) ou -d (urlencoded), incluindo arquivos com @ e campos com tipo de conteúdo.