重要事項:系統已不再支援 reCAPTCHA API 1.0 版,請升級至 2.0 版。瞭解詳情
reCAPTCHA Perl 模組可讓您輕鬆放置 CAPTCHA 避免漫遊器濫用網站本單元會納入 reCAPTCHA API。
如要將 reCAPTCHA 與 Perl 搭配使用,你可以下載 reCAPTCHA Perl Module (由 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"; }