CAPTCHA é um acrônimo da expressão “Completely Automated Public Turing test to tell Computers and Humans Apart” (teste de Turing público completamente automatizado para diferenciação entre computadores e humanos). Neste post veja como integrar o noCAPTCHA em seu site em PHP.
É uma ferramenta anti-spam que exige do usuário um teste para determinar se a requisição está sendo feita por humanos ou não.
Desta forma softwares automatizados que executam ações repetidas que degradam a qualidade dos serviços de e-mails, pesquisas, banco de dados etc, ficam impedidos de funcionar.
Para implementar essa ferramenta em seu site é muito simples. Veja:
1. Acesse o site https://www.google.com/recaptcha/intro/android.html através da sua conta do Google e crie uma conta do reCAPTCHA para o seu site;
2. Anote as informações Site key, Secret key além dos trechos de códigos do passo 1 e informações do passo 2:
3. Cadastre o(s) domínio(s) de seu(s) site(s) que utilizarão os códigos reCAPTCHA:
4. Agora incluímos a linha abaixo antes da tag <HEAD\> do seu formulário:
<script src='https://www.google.com/recaptcha/api.js'></script>
5. Incluímos a tag abaixo no local onde você deseja que a caixa de confirmação reCAPTCHA apareça:
<div class="g-recaptcha" data-sitekey="Site key"></div>
Obs.: Informe o Site key acima.
6. Agora, no servidor, inclua os códigos abaixo para enviar as informações ao Google e receber de volta o resultado do processamento do reCAPTCHA:
$curl = curl_init(); //inicializa variável curl
//passa info para verificação recaptcha
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true, //retorno da requisição
CURLOPT_POST => true, //tipo de retorno de requisição POST que a API do Google espera
CURLOPT_URL => 'https://www.google.com/recaptcha/api/siteverify', //URL fornecida pelo Google
//Parâmetros necessários para enviar a URL
CURLOPT_POSTFIELDS => [
'secret' => 'chave secreta aqui', //chave secreta fornecida pela Google
'response' => $_POST['g-recaptcha-response'], //resultado do 'g-recaptcha-response'
'remoteip' => $_SERVER['REMOTE_ADDR'], //IP remoto ]
]);
$response = json_decode(curl_exec($curl)); //converte o retorno em forma de objeto
curl_close($curl); //fecha curl
//Se não for feita a validação reCAPTCHA...
if(!$response->success) {
echo "Não foi possível validar o formulário porque você é um robô!.";
} else {
echo "Formulário validado com sucesso!";
//Códigos para enviar o formulário
}
APRENDA A PROGRAMAR EM PHP ORIENTADO A OBJETOS E IMPULSIONE SUA CARREIRA COMO PROGRAMADOR!
O curso de PHP Orientado a Objetos apresenta o passo a passo de como estruturar um sistema do zero com PHP utilizando o padrão de desenvolvimento MVC (Model, View e Controller).
Conheça o curso online que já AJUDOU MILHARES DE PESSOAS a aprender a programar e desenvolver seus próprios projetos do ZERO. CLIQUE NA IMAGEM ABAIXO E CONFIRA!
Link do curso: https://go.hotmart.com/A18082772K
Como usar sessões para manipular variáveis em PHP
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários