Estou realmente curioso para saber como evitar o spam de comentários em um fórum usando uma armadilha de mel para bots de spam.
E se CSS e javascript estiverem desativados em um navegador?
Você vê outras desvantagens na armadilha do pote de mel?
O que você acha que toda armadilha para pote de mel deve ter?
Você conhece alguma outra alternativa anti-spam que não perturbe a experiência do usuário.
Respostas:
Um honeypot adequado não dependerá de nenhum deles para funcionar. Idealmente, você usará um campo de formulário oculto para isso, que não requer nenhum esconderijo real.
Se você fizer isso corretamente, não deverá haver nenhum problema que os usuários estejam cientes. Haverá uma pequena quantidade de sobrecarga necessária para que ele funcione, mas isso deve ser tão pequeno que nem deve ser uma preocupação.
De uma resposta anterior : você pode fazer várias coisas (e deve fazer mais de uma), incluindo:
Use um CAPATCHA como reCAPTCHA
Use um campo que exija que o usuário responda a uma pergunta como o que é 5 + 3. Qualquer humano pode responder, mas um bot não saberá o que fazer, pois está preenchendo automaticamente os campos com base nos nomes dos campos. Portanto, esse campo estará incorreto ou ausente. Nesse caso, o envio será rejeitado.
Use um token e coloque-o em uma sessão e também adicione-o ao formulário. Se o token não for enviado com o formulário ou não corresponder, será automatizado e poderá ser ignorado.
Procure envios repetidos do mesmo endereço IP. Se o seu formulário não receber muitas solicitações, mas de repente ele provavelmente está sendo atingido por um bot e considere bloquear temporariamente o endereço IP.
Use Askimet . É ótimo para identificar spam.
Leitura recomendada: Como funcionam os spambots?
fonte
Tenho certeza de que os robôs de formulários ignoram todos os
<input type="hidden">
campos. A melhor solução é usar a entrada de texto normalmente, com um tipo de dados comum. Tudo o que você não está usando no momento é bom, como site, endereço, CEP, nome de usuário etc.Adicione uma mensagem dizendo "se você puder ver este campo, deixe em branco". Quebra da mensagem e entrada em um elemento div com CSS configurado para exibir: none.
Infelizmente, enquanto a maioria dos bots de spam é muito simples e burra, muitos são mais inteligentes e podem detectar qualquer truque popular. Dependendo da natureza do formulário, pode ser melhor usar o CAPTCHA ou o Akismet.
fonte
Algo que muitas vezes não vejo sugerido é uma solução captcha baseada em tempo. O spam funciona melhor divulgando-o o mais rápido possível. Substituí o ReCaptcha hospedado pelo Google por um atraso de envio de 20 segundos para meus formulários de contato usando sessões PHP e reduzia consideravelmente o spam. Eu descobri o tempo de atraso usando os dados do Google Analytics no comportamento do usuário.
fonte