mergulhao.info
Por Sylvestre Mergulhão
Sylvestre Mergulhão é programador web e fundador da HE:labs.
Veja também minhas palestras no Speaker Deck e me acompanhe no twitter @smergulhao.
Inverse Captcha: como não amolar seus visitantes
Postado em 06/11/2007
Quem tentou acessar meu site em alguns momentos no dia de ontem e hoje há alguns minutos se deparou com alguns 404 ou 500. Foi só uma pequena briga entre eu e o Dreamhost para atualização do Mephisto, isso vai ficar para o próximo post.
Como muitos de vocês, eu também acho o Captcha uma bosta de uma invenção. Infelizmente os “bots postadores de formulários alheios” estão importunando cada vez mais e estava precisando de algo que resolvesse esse problema nos comentários do blog.
A questão é: como minimamente garantir que há um humano postando o formulário e não um bot? Resolvi pesquisar por algo sobre o assunto e encontrei coisas interessantes.
Fazendo o oposto do Captcha, o conceito do Inverse(ou Negative) Captcha não é fazer o nosso visitante se identificar como humano, mas fazer o bot se entregar. Como? Fazendo a coisa mais simples com chances de funcionar. Dentro do formulário há um campo hidden via css. Os bots vêem esses campos como inputs comuns, pois eles não interpretam o css. O humano(ou os leitores de tela) ignoram esse campo, pois ele não aparece na tela. Logo, basta ignorar qualquer submissão que vier com o campo hidden preenchido.
Utilizei o plug-in para Mephisto desenvolvido pelo Sven Fuchs que implementa essa solução. Simples, não? Vamos ver se funciona.
ATUALIZAÇÃO: Ainda não descobri por que, mas parece que o plug-in está apresentando problemas e não está salvando nem os comentários “humanos”. Em meu ambiente de teste está funcionando normalmente, estou desconfiado mais uma vez das loucuras do Dreamhost. Qualquer dúvida ou sugestão me enviem um e-mail. Um abraço.
ATUALIZAÇÃO2: Problema resolvido, agora está tudo ok. Qualquer problema nos comentários me comuniquem.