Importante: la versione 1.0 dell'API reCAPTCHA non è più supportata. Esegui l'upgrade alla versione 2.0. Scopri di più
Il modulo reCAPTCHA Perl fornisce un modo semplice per inserire un CAPTCHA sul tuo sito web, aiutandoti a impedire ai bot di fare un uso improprio. Il modulo aggrega API reCAPTCHA.
Per utilizzare reCAPTCHA con Perl, puoi scaricare il perl reCAPTCHA Modulo (contributo da Andy Armstrong). Dovrai installare questo modulo sul tuo (server web). Il modulo dipende dai moduli LWP::UserAgent e HTML::Tiny, entrambi che dovrà essere installata. Ecco alcune istruzioni di base sull'installazione di Perl moduli.
Avvio rapido
Dopo aver effettuato la registrazione per le chiavi API e scaricato il modulo reCAPTCHA Perl, di seguito sono riportate le istruzioni di base per installare reCAPTCHA sul tuo sito.
Lato client (come visualizzare l'immagine CAPTCHA)
Se vuoi utilizzare il modulo Perl per visualizzare il widget reCAPTCHA, dovrai inserire questa riga vicino alla parte superiore del file con l'elemento modulo dove verrà creato il widget reCAPTCHA visualizzato:
use Captcha::reCAPTCHA;
Quindi, devi creare un'istanza di reCAPTCHA:
my $c = Captcha::reCAPTCHA->new;
Infine, per visualizzare il widget reCAPTCHA, devi inserire la riga seguente all'interno del <form> :
print $c->get_html("your_public_key");
Il codice potrebbe quindi avere un aspetto simile al seguente:
use Captcha::reCAPTCHA; my $c = Captcha::reCAPTCHA->new; print <<EOT; <html> <body> <form action="" method="post"> EOT print $c->get_html("your_public_key"); print <<EOT; <input type="submit" value="submit" /> </form> </body> </html> EOT
Non dimenticare di sostituire your_public_key
con il valore del tuo
chiave API.
Lato server (come verificare se l'utente ha inserito la risposta giusta)
Di seguito è riportata una bozza di come verificare la risposta a reCAPTCHA:
use Captcha::reCAPTCHA; my $c = Captcha::reCAPTCHA->new; my $challenge = param 'recaptcha_challenge_field'; my $response = param 'recaptcha_response_field'; # Verify submission my $result = $c->check_answer( "your_private_key", $ENV{'REMOTE_ADDR'}, $challenge, $response ); if ( $result->{is_valid} ) { print "Yes!"; } else { # Error print "No"; }