CAPTCHAS eficientes e CAPTCHA ruim

Não se preocupe se você não sabe o que significa CAPTCHA. Na prática, são aquelas letrinhas embaralhadas que quase todo formulário de cadastro ou votação online têm.

E para que serve aquele negócio que atrasa a nossa vida?

Serve para impedir que um computador consiga preencher o formulário sozinho, uma vez que ele não vai conseguir entender aquelas letrinhas dentro da imagem. Isso impede que robôs enviem milhares de mensagens ou votem milhões de vezes numa pesquisa online.

Quanto mais embaralhadas forem as letras na imagem, melhor.

Ah, e precisa ser uma imagem, porque se for texto, o computador não faz nem esforço, como é o caso do site de uma das maiores operadoras de telecomunicações do Brasil, que coloca os números do CAPCHA em texto, e ainda coloca os dados na página escondidos num campo “hidden”! Isso não dura 1 segundo na mão de um script feito por um garoto de 10 anos.

Você está fazendo isso errado...

Não vou dizer qual foi a operadora, mas acho que você consegue descobrir. 😉

Outra maneira interessante de fazer um CAPTCHA é exibir uma pergunta simples, mas em linguagem natural, por exemplo:

  • Qual é o triplo de dois?
  • Quais são as vogais da palavra piauiense?
  • Quanto é dois mais sete?
  • A palavra travesseiro começa com qual letra?

Se você tiver uma lista grande de perguntas como essas, e for exibindo de forma aleatória, isso funciona da mesma forma que as imagens do CAPTCHA.

Atualmente o CAPTCHA mais usado por aí se chama reCAPTCHA, inventado por um sujeito chamado Luis von Ahn, que descobriu uma maneira muito simples de pessoas irem convertendo livros digitalizados em texto e ainda fazer isso servir como CAPTCHA.

Como funciona? Há um projeto grande de digitalizar jornais muito antigos e convertê-los em texto através de OCR. O problema é que algumas partes do texto ficam ilegíveis para o OCR e a tradução dessas palavras de imagem em texto sai errada. Veja abaixo:

sample-ocr

Nós conseguimos perfeitamente identificar o texto “This aged portion of society were distinguished from”, mas o computador não. Dessa forma, o que ele faz é partir a imagem do texto em palavras e exibir para as pessoas traduzirem aquilo para texto, no CAPTCHA.

recaptcha

Agora, se ele não sabe o que significam as palavras, como ele faz para saber se você digitou certo as palavras da imagem?

Por esse motivo ele sempre coloca duas imagens juntas. De uma ele sabe o significado, da outra não. Se você acertar uma, provavelmente tentou acertar a outra. Quando um número X de pessoas disse a mesma coisa para aquela palavra, ele guarda aquilo como o texto referente àquela palavra.

E assim vão digitalizando jornais e livros antigos…

Fica aqui uma dica para o sujeito que fez o site da operadora de telefonia: O reCAPTCHA é gratuito e funciona 10 mais 11 vezes melhor do que o seu CAPTCHA feito em texto. 😉

Comments on this entry are closed.

  • Carlo Pires

    Tá aí uma boa ideia para um projeto: recaptcha em português.

  • O problema de fazer o reCAPTCHA em português, a meu ver, é que nem sempre a pessoa do outro lado tem um teclado configurado para colocar acentos.

    E o Google também teria que licenciar o projeto, porque ele pagou muito bem para o Luis von Ahn para ter o domínio da tecnologia do reCAPTCHA. 🙂