Menggunakan reCAPTCHA dengan Perl

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 &lt;form&gt; {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";
    }

Bacaan Lebih Lanjut

  • Menyesuaikan Tampilan dan Nuansa
  • Tips dan Pedoman
  • Pemecahan masalah