สำคัญ: ระบบไม่รองรับ reCAPTCHA API เวอร์ชัน 1.0 อีกต่อไปแล้ว โปรดอัปเกรดเป็นเวอร์ชัน 2.0 ดูข้อมูลเพิ่มเติม
โมดูล reCAPTCHA Perl ระบุวิธีง่ายๆ ในการวาง CAPTCHA ลงในเว็บไซต์ ซึ่งช่วยป้องกันบ็อตไม่ให้ใช้ในทางที่ผิด โมดูลจะประกอบด้วย reCAPTCHA API
หากต้องการใช้ reCAPTCHA กับ Perl คุณจะดาวน์โหลด reCAPTCHA Perl Module (จัดทำโดย Andy Armstrong) คุณจะต้องติดตั้งโมดูลนี้บนเครื่อง ของคุณ (เว็บเซิร์ฟเวอร์) โมดูลนี้จะขึ้นอยู่กับโมดูล LWP::UserAgent และ HTML::Tiny ซึ่งจะต้องติดตั้งทั้ง 2 โมดูลด้วย โปรดดูวิธีการติดตั้งโมดูล 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"; }