Pages

Subscribe:

Ads 468x60px

Labels

05/01/2012

Aumentando segurança de seus formulários com o reCAPTCHA da Google

Para aumentar a segurança dos formulários em seus sites ou sitemas online,  foi testado e implementado o recurso agora já incluído no JOOMLA 2.5 de reCAPTCHA, recurso de segurança de código livre da Google.
Através do site: http://code.google.com/intl/pt-BR/apis/recaptcha/docs/php.html
Podemos explorar como instalar este recurso em projeto de script em PHP puro ou em outras linguagens ou CMS como o próprio JOOMLA, WordPress, phpBB, MediaWiki.

Neste exemplo é apresentado a implementação do recurso em um formulário escrito em PHP sem CMS.

Para que o recaptcha funcione adequadamente deverá ter cadastro gratuito no site:
https://www.google.com/recaptcha

A clicar em MY ACCOUNT, faz-se o login com uma conta sua do gmail ou cadastrada no Google.  Uma vez logado veremos como abaixo o menu de opções para se criar o TOKEN para o domínio onde aparecerá o recurso em seu formulário clicando-se em +Add a New Site
 
A quantidade de domínios para gerar estes TOKEN’s não sei se é ilimitada, mas podemos adicionar muitos domínios em uma única conta reCAPTHA.

Uma vez digitado no campo de domínio do site que irá ser carregado o recurso, será gerado duas chaves:
-Public Key;
- Private Key.

Tendo em mãos as chaves, iremos precisar de um arquivo rodando no servidor (recaptchalib.php). Os outros arquivos são exemplos, readme e outras coisas legais - eles não afetam a funcionalidade.

Para fazer funcionar precisará apenas incluir estas linhas básicas no formulário ao qual necessita-se de aumentar a segurança:
----------------------------------------------------------------------
  require_once('recaptchalib.php');
  $publickey = "your_public_key"; // coloque aqui a Public key
  echo recaptcha_get_html($publickey);
---------------------------------------------------------------------------------------------------------
Uma importante informação é que este arquivo que estamos incluindo deve estar na mesma pasta do formulario e arquivo de processamento, para seu perfeito funcionamento.

As próximas linhas de exemplo serão inseridas no arquivo que processará as informações do formulário (Server Side):
-----------------------------------------------------------------------------------------------------------------------
  require_once('recaptchalib.php');
  $privatekey = "your_private_key";  // coloque aqui a Private key
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

  if (!$resp->is_valid) {
    // What happens when the CAPTCHA was entered incorrectly
    die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
         "(reCAPTCHA said: " . $resp->error . ")");
  } else {
    // Your code here to handle a successful verification
  }
  ?>

------------------------------------------------------------------------------------------------------------------------

Uma vez inserido as respectivas chaves (pública e privada), bastará trabalhar a condição para restringir o cadastro caso os caracteres digitados não corresponderem, retornando ao formulário para uma nova validação.

0 comentários:

Postar um comentário

Todos os comentários serão moderados e postados um tempo depois, comentários ofencivos serão deletados.