Lembro-me de um site fechado por uso indevido e me pergunto se os bots fazem parte dele. Se o bot está postando algo no meu site, como posso combatê-lo? Eu estava pensando em definir alguns cookies e alterá-los via JavaScript + timestamp e assinar (para que os cookies de ontem não possam ser usados hoje e na próxima semana).
Tenho certeza que a maioria das pessoas / bots usaria outro site em vez de ativar o JavaScript no bot.
O que mais eu posso fazer? Estou pensando no limite diário de POST e um honeypot para bots genéricos que apenas postam spam aleatoriamente.
fonte
John Conde descreve muitas coisas boas abordadas. O problema com a escolha de uma técnica anti-bot / anti-spam é equilibrar eficácia e conveniência. Seria realmente inconveniente ter que preencher um CAPTCHA toda vez que você quiser postar um comentário ou mensagem, mas se você precisar apenas de um CAPTCHA na inscrição, às vezes isso não impede os spammers.
Algumas das técnicas passivas são uma boa alternativa, pois não requerem ação humana. O problema é que os bots estão ficando cada vez mais sofisticados e, se os bots puderem resolver os CAPTCHAs, certamente poderão processar JS e CSS. Portanto, você precisará exercitar um pouco de criatividade, como usar CSS menos óbvio para ocultar seus campos de interceptação de bot.
Mas com base na sua pergunta, acho que você provavelmente percebe que o objetivo não é criar um site à prova de bot, mas apenas criar um impedimento suficiente para que os usuários do bot simplesmente escolham outros alvos mais fáceis. Portanto, o que é necessário aqui varia de site para site e provavelmente exigirá alguns testes de tentativa e erro. Eu tentaria primeiro as técnicas menos invasivas.
Por fim, outra maneira de remover o spam de seu site é usar a moderação de colegas para remover qualquer comentário enviado por bot ou spam enviado manualmente que passa rapidamente.
fonte
Como John Conde mencionou em seu número 1) e você mencionou, o honeypot pode funcionar muito bem na maioria dos casos e na maioria dos sites. Se alguma vez for realizado por um bot, você também pode executar um dos outros métodos mencionados por John. Mas, honestamente, se seu site tiver tráfego baixo ou médio, isso deve ser suficiente.
Exemplo, um dos meus favoritos:
Agora, quando o formulário é enviado, uma porcentagem extremamente alta de bots preencherá "email" e "email_address", mas os humanos preencherão apenas o que visualizarem, "email" e não "email_address". Portanto, no seu código `/ process-form ', basta verificar se o endereço de email não está vazio para verificação.
Simples e eficaz.
fonte