สำคัญ: ไม่รองรับ reCAPTCHA API เวอร์ชัน 1.0 อีกต่อไป โปรดอัปเกรดเป็นเวอร์ชัน 2.0 ดูข้อมูลเพิ่มเติม
โมดูล reCAPTCHA Perl มอบวิธีง่ายๆ ในการวาง CAPTCHA บนเว็บไซต์เพื่อช่วยป้องกันการละเมิดโดยบ็อต โดยโมดูลจะรวมฟิลด์ reCAPTCHA API
หากต้องการใช้ reCAPTCHA กับ Perl คุณสามารถดาวน์โหลด reCAPTCHA Perl ได้ โมดูล (ผู้เขียน Andy Armstrong) คุณจะต้องติดตั้งโมดูลนี้ใน คอมพิวเตอร์ (เว็บเซิร์ฟเวอร์) โมดูลนี้ขึ้นอยู่กับโมดูล LWP::UserAgent และ HTML::Tiny ทั้งคู่ ซึ่งจะต้องติดตั้งด้วย นี่คือคำแนะนำเบื้องต้นในการติดตั้ง Perl โมดูล
คู่มือเริ่มต้นฉบับย่อ
หลังจากลงชื่อสมัครใช้คีย์ API และดาวน์โหลดโมดูล reCAPTCHA Perl แล้ว วิธีการเบื้องต้นมีดังนี้ ติดตั้ง reCAPTCHA ในเว็บไซต์
ฝั่งไคลเอ็นต์ (วิธีทำให้รูปภาพ CAPTCHA ปรากฏขึ้น)
หากต้องการใช้โมดูล Perl เพื่อแสดงวิดเจ็ต reCAPTCHA คุณจะต้องแทรก บรรทัดนี้ใกล้กับด้านบนของไฟล์ที่มีองค์ประกอบของฟอร์มที่จะเป็นวิดเจ็ต reCAPTCHA แสดง:
use Captcha::reCAPTCHA;
จากนั้นให้สร้างอินสแตนซ์ของ reCAPTCHA
my $c = Captcha::reCAPTCHA->new;
สุดท้าย ในการแสดงวิดเจ็ต reCAPTCHA คุณต้องวางบรรทัดต่อไปนี้ไว้ในแท็ก <form> แท็ก:
print $c->get_html("your_public_key");
ดังนั้น โค้ดของคุณจะมีลักษณะดังนี้
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
ด้วยค่า
คีย์ API
ฝั่งเซิร์ฟเวอร์ (วิธีทดสอบว่าผู้ใช้ป้อนคำตอบที่ถูกต้องหรือไม่)
โครงสร้างของวิธียืนยันคำตอบ 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"; }