Wichtig: Version 1.0 der reCAPTCHA API wird nicht mehr unterstützt. Führen Sie ein Upgrade auf Version 2.0 aus. Weitere Informationen
Das reCAPTCHA Perl-Modul bietet eine einfache Möglichkeit, ein CAPTCHA zu platzieren. auf Ihrer Website und verhindern so, dass Bots sie missbrauchen. Das Modul umfasst die reCAPTCHA API.
Wenn Sie reCAPTCHA mit Perl verwenden möchten, können Sie das reCAPTCHA Perl herunterladen Modul (Beitrag von Andy Armstrong). Sie müssen dieses Modul auf Ihrem (Webserver). Das Modul hängt von den Modulen LWP::UserAgent ab und HTML::Tiny, beide die ebenfalls installiert werden müssen. Hier einige grundlegende Anweisungen zur Installation von Perl Module.
Schnellstart
Nachdem Sie sich für Ihre API-Schlüssel registriert und das reCAPTCHA-Perl-Modul heruntergeladen haben, finden Sie im Folgenden eine grundlegende Anleitung für um reCAPTCHA auf Ihrer Website zu installieren.
Clientseitig (Anleitung zum Anzeigen des CAPTCHA-Bildes)
Wenn Sie das Perl-Modul zur Anzeige des reCAPTCHA-Widgets verwenden möchten, müssen Sie diese Zeile am Anfang der Datei mit dem Formularelement, in das sich das reCAPTCHA-Widget befindet, angezeigt:
use Captcha::reCAPTCHA;
Anschließend müssen Sie eine reCAPTCHA-Instanz erstellen:
my $c = Captcha::reCAPTCHA->new;
Um das reCAPTCHA-Widget anzuzeigen, müssen Sie schließlich die folgende Zeile innerhalb des <form> Tag:
print $c->get_html("your_public_key");
Ihr Code könnte also in etwa so aussehen:
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
Vergessen Sie nicht, your_public_key
durch den Wert Ihres
API-Schlüssel.
Serverseitig (So können Sie testen, ob der Nutzer die richtige Antwort eingegeben hat)
Unten sehen Sie ein grundlegendes Verständnis dafür, wie Sie die reCAPTCHA-Antwort überprüfen können:
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"; }