reCAPTCHA'yı Perl ile kullanma

Önemli: reCAPTCHA API'nin 1.0 sürümü artık desteklenmiyor. Lütfen sürüm 2.0'a yükseltin. Daha fazla bilgi

reCAPTCHA Perl Modülü, CAPTCHA yerleştirmenin basit bir yolunu sağlar. ekleyerek botların bunu kötüye kullanmasını önlemenize yardımcı olur. Modül, reCAPTCHA API'si.

reCAPTCHA'yı Perl ile kullanmak için reCAPTCHA Perl'i indirebilirsiniz. Modül (Andy Armstrong tarafından katkıda bulunulmuştur). Bu modülü şu adrese yüklemeniz gerekiyor: tıklayın. Modül, şu modüllere bağlıdır: LWP::UserAgent ve HTML::Tiny olmak üzere ayrıca yüklenmesi gerekir. Burada, Perl'i yüklemeyle ilgili bazı temel talimatları bulabilirsiniz. modüllerini inceleyin.

Hızlı Başlangıç

API anahtarlarınızı kaydolup reCAPTCHA Perl modülünü indirdikten sonra aşağıdaki temel talimatları aşağıda bulabilirsiniz: sitenize reCAPTCHA'yı yükleyerek yapabilirsiniz.

İstemci Tarafı (CAPTCHA resmi nasıl gösterilir?)

reCAPTCHA widget'ını görüntülemek için Perl modülünü kullanmak istiyorsanız bu satır, reCAPTCHA widget'ının kaydedileceği form öğesini içeren dosyanın üst kısmına yakın bir yerdedir görüntülenen:

    use Captcha::reCAPTCHA;

Ardından, bir reCAPTCHA örneği oluşturmanız gerekir:

    my $c = Captcha::reCAPTCHA->new;

Son olarak, reCAPTCHA widget'ını görüntülemek için aşağıdaki satırı <form> etiket:

    print $c->get_html("your_public_key");

Bu durumda, kodunuz aşağıdaki gibi görünebilir:

    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

your_public_key değerini API anahtarı.

Sunucu Tarafı (Kullanıcının doğru yanıtı girip girmediğini test etme)

Aşağıda, reCAPTCHA yanıtının nasıl doğrulanacağıyla ilgili bir taslak verilmiştir:

    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";
    }

Diğer Okumalar

  • Görünüm ve İzlenim Özelleştirme
  • İpuçları ve kurallar
  • Sorun giderme