Penting: reCAPTCHA API versi 1.0 tidak lagi didukung. Harap upgrade ke Versi 2.0. Pelajari lebih lanjut
Modul Perl reCAPTCHA menyediakan cara sederhana untuk menempatkan CAPTCHA di situs Anda, membantu Anda mencegah bot menyalahgunakannya. Modul ini menggabungkan reCAPTCHA API.
Untuk menggunakan reCAPTCHA dengan Perl, Anda dapat mendownload reCAPTCHA Perl Modul (dikontribusikan oleh Andy Armstrong). Anda harus menginstal modul ini di komputer (server web). Modul ini bergantung pada modul LWP::UserAgent dan HTML::Tiny, keduanya yang juga perlu diinstal. Berikut adalah beberapa petunjuk dasar tentang cara menginstal Perl modul Google Cloud.
Mulai Cepat
Setelah mendaftar kunci API dan mendownload modul reCAPTCHA Perl, di bawah ini adalah petunjuk dasar untuk menginstal reCAPTCHA di situs Anda.
Sisi Klien (Cara memunculkan gambar CAPTCHA)
Jika ingin menggunakan modul Perl untuk menampilkan widget reCAPTCHA, Anda harus menyisipkan baris ini di dekat bagian atas file dengan elemen formulir di mana widget reCAPTCHA akan ditempatkan ditampilkan:
use Captcha::reCAPTCHA;
Kemudian, Anda perlu membuat instance reCAPTCHA:
my $c = Captcha::reCAPTCHA->new;
Terakhir, untuk menampilkan widget reCAPTCHA, Anda harus menempatkan baris berikut di dalam kolom <form> {i>tag<i}:
print $c->get_html("your_public_key");
Jadi, kode Anda mungkin terlihat seperti ini:
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
Jangan lupa untuk mengganti your_public_key
dengan nilai atribut
Kunci API.
Sisi Server (Cara menguji apakah pengguna memasukkan jawaban yang benar)
Di bawah ini adalah kerangka cara memverifikasi jawaban 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"; }