重要事項:系統已不再支援 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"; }