Importante: a versão 1.0 da API reCAPTCHA não é mais compatível. Faça upgrade para a versão 2.0. Saiba mais
O módulo reCAPTCHA Perl oferece uma maneira simples de colocar um CAPTCHA. no seu site, o que ajuda você a impedir que os bots abusem dele. O módulo envolve os API reCAPTCHA.
Para usar o reCAPTCHA com Perl, faça o download do reCAPTCHA Perl Module (contribuição de Andy Armstrong). Você precisará instalar esse módulo máquina virtual (servidor da Web). O módulo depende dos módulos LWP::UserAgent e HTML::Tiny, ambos que também precisará ser instalado. Aqui estão algumas instruções básicas sobre como instalar o Perl módulos.
Início rápido
Depois de se inscrever para suas chaves de API e fazer o download do módulo reCAPTCHA Perl, veja abaixo as instruções básicas para e instalar o reCAPTCHA no seu site.
Lado do cliente (como fazer a imagem CAPTCHA aparecer)
Se quiser usar o módulo Perl para exibir o widget reCAPTCHA, insira linha na parte superior do arquivo, com o elemento do formulário onde o widget reCAPTCHA estará exibido:
use Captcha::reCAPTCHA;
Em seguida, você precisa criar uma instância do reCAPTCHA:
my $c = Captcha::reCAPTCHA->new;
Por fim, para exibir o widget reCAPTCHA, coloque a seguinte linha dentro do <form> :
print $c->get_html("your_public_key");
Sendo assim, seu código será parecido com este:
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
Substitua your_public_key
pelo valor da
Chave de API.
No servidor (como testar se o usuário inseriu a resposta certa)
Veja abaixo como verificar a resposta do 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"; }