Ważne: interfejs API reCAPTCHA w wersji 1.0 nie jest już obsługiwany, uaktualnij go do wersji 2.0. Więcej informacji
Moduł reCAPTCHA Perl w prosty sposób pozwala umieścić obraz CAPTCHA w witrynie, aby powstrzymać boty przed jej nadużywaniem. Ten moduł obejmuje Interfejs API reCAPTCHA.
Aby korzystać z reCAPTCHA z Perl, pobierz wersję reCAPTCHA Perl Moduł (utworzony przez Andy'ego Armstronga). Musisz zainstalować ten moduł na swoim na komputerze (serwerze WWW). Moduł korzysta z modułów LWP::UserAgent. i HTML::Tiny, oba który także trzeba zainstalować. Oto kilka podstawowych instrukcji instalowania języka Perl .
Szybki start
Gdy już zarejestrujesz klucze interfejsu API i pobierzesz moduł reCAPTCHA Perl, poniżej znajdziesz podstawowe instrukcje dotyczące instalując reCAPTCHA w swojej witrynie.
Po stronie klienta (jak wyświetlić obraz CAPTCHA)
Jeśli chcesz używać modułu Perl do wyświetlania widżetu reCAPTCHA, musisz wstawić ten wiersz w górnej części pliku z elementem formularza, w którym będzie znajdować się widżet reCAPTCHA wyświetlono:
use Captcha::reCAPTCHA;
Następnie musisz utworzyć instancję reCAPTCHA:
my $c = Captcha::reCAPTCHA->new;
Aby wyświetlić widżet reCAPTCHA, musisz umieścić następujący wiersz w sekcji <form> :
print $c->get_html("your_public_key");
Twój kod może więc wyglądać mniej więcej tak:
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
Nie zapomnij zastąpić parametru your_public_key
wartością swojej
klucz interfejsu API.
Po stronie serwera (jak sprawdzić, czy użytkownik wpisał poprawną odpowiedź)
Poniżej znajduje się szkielet sposobu weryfikacji odpowiedzi 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"; }