Inserir o ReCAPTCHA em um formulário de contato do Site
Aprenda de modo fácil, como Inserir O ReCAPTCHA em um formulário de contato do site. O reCAPTCHA é uma nova ferramenta do Google para proteger seu site contra SPAM BOT. Ele vem de uma ideia inovadora, pois até então os captchas eram vistos como um obstáculo ao invés auxiliar os usuários. Com o reCAPTCHA isso é diferente, pois tudo que o usuário precisa fazer é clicar em um checkbox, confirmando que não é um robô e selecionando imagens idênticas, caso seja solicitada pelo reCaptcha.
Vamos ensinar como criar um reCaptcha com formulários smarty em páginas TPL, utilizando também o PHP
Antes de tudo você deve ter uma conta no Google, para acessar a página.
Criar reCAPTCHA
Depois clique em: Get reCAPTCHA – um botão azul no topo direito.
Cadastre seu site e copie suas chaves puclica e privada. Veja a ilustração na imagem a seguir:
Siga para inserir O ReCAPTCHA em um formulário
Já li muitos artigos ensinando o editor inserir reCaptcha em um formulário de envio de e-mail, mas essa foi a única forma que eu encontrei para fazê-lo funcionar usando o form action – method=’POST’
Pegando um Script aqui, outro ali, eu juntei as peças e no meu caso funcionou perfeitamente. Mas lembro, que estou utilizando PHP – Smarty, com páginas .TPL e pode funcionar em páginas PHP, modificando alguns parâmetros.
Mãos a Obra
Para Inserir o ReCAPTCHA, primeiro criei o formulário de contato usando o method=’POST’
Em seguida colei o código javascript entre as tags <head></head>
<script src='https://www.google.com/recaptcha/api.js'></script>
Já entre as Tags <form></form> Eu coloquei a DIV que o Google fornece com a public_key
O ideal é adicionar essa div antes do botão submit.
<div class="g-recaptcha" data-sitekey="SUA-CHAVE-PUBLICA"></div>
Depois é só acessar a página .PHP que processa o formulário de envio e adicionar o seguinte código:
<?php if(isset($_POST['submit'])){ $user_response = $_POST['g-recaptcha-response']; $secret_key = SUA-CHAVE-PRIVADA AQUI; $ip_local = $_SERVER["REMOTE_ADDR"]; $test = json_decode(file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret_key.'&response='.$user_response.'&remoteip='.$ip_local.'')); if($test->{'success'} == true){
//NESTA PARTE FICA A CLASSE QUE VAI VALIDAR O PROCESSAMENTO DA MENSAGEM E ENVIAR, ao Inserir o ReCAPTCHA
//daqui em diante vai processar se tiver erros
} else { echo '<script> alert(\'Ops: Por favor selecione o checkbox, para autorizar o envio da mensagem\'); </script>'; echo "<script type='text/javascript'>history.go(-1)</script>"; } } ?>
Pronto. Faça o teste. Se você usa página em puro PHP, tente fazer da mesma forma para Inserir o ReCAPTCHA, embora meu conselho é: coloque um include() na página do formulário, para a página que processa.
Vamos fazer os testes em formulários para WordPress e em seguida postamos o artigo aqui.