Captcha Inverso – Segurança em Formulários

Hoje em dia praticamente todo site, blog, ecommerce, possui um formuário na página, seja para contato, seja para deixar comentários na página.

E com isso cresce o número de spammers. E precisamos filtrar os spams. A partir disso foi criado o conceito de CAPTCHA.

Você provavelmente já utilizou algum. São aqueles campos de verificação, as vezes um cálculo matemático simples (2+2=), ou uma imagem distorcida.

Realmente é algo incômodo, principalmente os de imagens, que deixam a gente confuso entre L e i maiúsculas e minúsculas, ou entre O e 0 (zero).

Pensando nisso foi criado o conceito de Captcha Inverso.

CAPTCHA - Completely Automated Public Turing test to tell Computers and Humans Apart.

Algo como Teste de Turing público e completamente automático para distinguir computadores e humanos.

Então não seria mais interessante fazer a pergunta aos computadores ao invés de perguntar aos humanos? Essa é a idéia do inverso.

Os sistemas dos spammers quando encontram um formulário da web procuram preencher todos os campos para garantir que serão enviados.

Então, colocaríamos um campo a mais no formulário, que o humano não pudesse ver, invisível mesmo, e se este campo for preenchido, então foi feito por algum sistema automatizado (máquina).

Mas importante é fazer essa validação no servidor, server-side, usando o php ou asp, ou ainda java, depende da sua linguagem favorita. Pois deixar isso para o javascript não vai garantir validação. Você pode fazer o teste desabilitando o javascript no seu navegador.

Poderíamos criar um campo type=hidden? Não, simples demais, os spammers identificariam facilmente.

Poderíamos então ocultar via CSS? Sim, é uma alternativa. Mas deixar como:

<div style="display:none"><input ...></div>

Isso também seria identificado pelos spammers muito rapidamente.

Mas se colocassemos o atributo display:none dentro de um arquivo css, que é importado na página, com um nome sugestivo, ai começa a melhorar.

.especial ou .obrigatorio{ display:none }

E no seu formulário o campo oculto ficaria algo como:

<input type="text" name="mail" id="mail" class="obrigatorio">

Claro que isso não seria a solução definitiva, é apenas uma alternativa para deixar seu formulário mais amigável aos humanos.

Mas pelo menos só passariam os spammers mais inteligentes.

O interessante é que alternativas estão aparecendo, uma delas pode acabar evoluindo a ponto de se tornar uma solução definitiva. Vamos aguardar pra ver.

Sucesso!



Sobre o Autor

MarioSAM é faixa preta 2Dan de Taekwondo. Entusiasta do marketing online. Especulador do mercado financeiro. Projetista web com certificação SCJP da SUN. Com 10 anos de experiência em desenvolvimento de sistemas.