Um CAPTCHA é um "Completely Automated Public Turing test to tell Computers and Humans Apart."
Um tipo usual consiste em pedir ao utilizador que identifique os caracteres de uma imagem distorcida.
O SAPO disponibiliza esta funcionalidade através de um Web Service disponível em http://services.sapo.pt/Captcha/.
Gerar um novo CAPTCHA é tão simples como fazer um pedido a http://services.sapo.pt/Captcha/Get.
O serviço retorna uma resposta como:
<Captcha>
<id>b853bd89516e650be2bba45fed191319f8387ed2</id>
<code>sader441</code>
<msg>ok</msg>
</Captcha>
Onde id é o identificador do CAPTCHA gerado e code é a mensagem distorcida.
A partir daqui pode-se exibir a imagem recorrendo apenas a HTML:
<img src="http://services.sapo.pt/Captcha/Show?id=
b853bd89516e650be2bba45fed191319f8387ed2" />
Resta apenas comparar a resposta do utilizador com o parâmetro recebido em code e podemos assim distinguir um bot de um utilizador.
O serviço possui ainda mais uma série de parâmetros que permitem costumizar o aspecto da imagem e o tempo de vida e tamanho do CAPTCHA.
Por exemplo, gerar um CAPTCHA de 9 caracteres numéricos:
http://services.sapo.pt/Captcha/Get?mode=numeric&length=9
Mostrar o CAPTCHA com o texto a vermelho sob fundo azul e fonte tamanho 14:
http://services.sapo.pt/Captcha/Show
?id=401b4f9820a2ce4c0177f2010ded67bf04757a23
&textcolor=ff0000&size=14&background=0000ff
E aqui está uma forma simples de implementar CAPTCHAs nas suas soluções sem que tenha que desenvolver esta funcionalidade.
A descrição do serviço encontra-se em http://services.sapo.pt/Metadata/Service/Captcha.