[Cascavel-pm] reCAPTCHA - Digitizing Books One Word at a Time

Nelson Ferraz nferraz em gmail.com
Segunda Junho 11 08:21:33 PDT 2007

Aqui vai um link que pode ser útil em projetos que necessitem de  
CAPTCHAs ("Completely Automated Turing Test To Tell Computers and  
Humans Apart") -- aquelas imagens contendo letras e números  
distorcidos, que uma pessoa precisa digitar antes de se cadastrar,  
para garantir que é realmente humana (e não um bot, por exemplo).

"About 60 million CAPTCHAs are solved by humans around the world  
every day. In each case, roughly ten seconds of human time are being  
spent. Individually, that's not a lot of time, but in aggregate these  
little puzzles consume more than 150,000 hours of work each day. What  
if we could make positive use of this human effort? reCAPTCHA does  
exactly that by channeling the effort spent solving CAPTCHAs online  
into "reading" books.

reCAPTCHA improves the process of digitizing books by sending words  
that cannot be read by computers to the Web in the form of CAPTCHAs  
for humans to decipher."

Ou seja: ao invés de perder o tempo de usuário, o seu site contribui  
para a digitalização de um livro -- uma palavra de cada vez.

Outras vantagens:

"reCAPTCHA has the highest security standards.

reCAPTCHA is a Web service. That means that all the images are  
generated and graded by our servers. In addition to the convenience  
that this provides (you don't have to run costly image generation  
scripts on your own servers), this also provides an extra level of  
protection: our CAPTCHAs can be automatically updated whenever a  
security vulnerability is found."

O reCAPTCHA é mantido pelos criadores originais do CAPTCHA, da  
Carnegie Mellon University.

Em perl:

     use Captcha::reCAPTCHA;

     my $c = Captcha::reCAPTCHA->new;

     # Output form
     print $c->get_html( 'your public key here' );

     # Verify submission
     my $result = $c->check_answer(
         'your private key here', $ENV{'REMOTE_ADDR'},
         $challenge, $response

     if ( $result->{is_valid} ) {
         print "Yes!";
     else {
         # Error
         $error = $result->{error};

Mais informações:


Mais detalhes sobre a lista de discussão Cascavel-pm