использование reCAPTCHA в perl CGI

Posted in Новости on 13 октября, 2012 by admin

Модуль cpan — http://search.cpan.org/dist/Captcha-reCAPTCHA/lib/Captcha/reCAPTCHA.pm

Регистрируем домен в https://www.google.com/recaptcha и получаем PRIVATE_KEY и PUBLIC_KEY . Далее устанавливаем модуль Captcha::reCAPTCHA . По образцу со страницы модуля пишем простой скрипт :


#!/usr/bin/perl

use CGI;
use Captcha::reCAPTCHA;
$cgi = CGI->new();
my $c = Captcha::reCAPTCHA->new;
print "Content-type:text/html\r\n\r\n";
print <

HTML
my $result = $c->check_answer(
"PRVATE_KEY", $ENV{'REMOTE_ADDR'},
$cgi->param(recaptcha_challenge_field),
$cgi->param(recaptcha_response_field)
);
if ( $result->{is_valid} ) {
print "Yes!";
}
else {
$error = $result->{error};
}
print $c->get_html( 'PUBLIC_KEY', $error );
#

print <

HTML


Как видите, мы описали CGI, и поместили в разрезе функцию ввода и проверки капчи :

my $result = $c->check_answer(
"PRVATE_KEY", $ENV{'REMOTE_ADDR'},
$cgi->param(recaptcha_challenge_field),
$cgi->param(recaptcha_response_field)

и функцию вывода ответа :

print $c->get_html( 'PUBLIC_KEY', $error );

Сама переменная правильности ответа ( Да/Нет ) находится тут — $result->{is_valid}

Tags: , , ,