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