Programação / PHP

Implemente o Google reCaptcha em seu site e impeça que robôs façam requisições de dados

Esse recurso geralmente é aplicado no front-end da aplicação quando há a entrada de informações através de um formulário

Por Gustavo Web

Publicado por Gustavo Web
em 24/08/2018 às 09h20

Lista VIP UpInside

Entre para nossa lista VIP e receba vídeo aulas, artigos e tutoriais exclusivos e com prioridade

  QUERO ENTRAR

Aula exclusiva UpInside Play

Acessar aula no Play

Compartilhe:

Salve salve moqueridos, bora ver como funciona o Google reCaptcha hoje?

Antes de iniciar, é importante você saber que há dois tipos dessa funcionalidade.

Há a opção de que você clique no componente para validar que você não é um robô, e também uma versão transparente que não é necessário a interação do usuário.

Ambas vão ter o mesmo comportamento... Será feito uma análise da quantidade de requisições que está sendo feito, qual o ip de origem e diversas outras regras que são implementadas pelo Google.

Quando o Google duvida do seu comportamento, ele vai lhe mostrar um teste em tela para que você resolva e portanto você não é um robô (um script que automatiza essa ação).

Material de Apoio

O link para o repositório vai estar logo abaixo, e você pode baixar para comparar o seu código junto comigo.

Foi disponibilizado o material, simplesmente por questão da parte visual... Se você quiser, não precisa baixar o material e colocar o seu teste para rodar num formulário qualquer.

Segura o link do repo aí :)

Validação da Resposta

Mais importante do que colocar o componente na página, é saber se o que você recebeu está correto ou não. O procedimento é bastante simples!

Quando você coloca o recaptcha no seu formulário, ele vai criar um input hidden com o nome g-recaptcha-response.

Você tem que resgatar esse valor e fazer uma pergunta para uma URL específica do Google juntamente com o seu site key. O endereço completo fica assim:

$url = 'https://www.google.com/recaptcha/api/siteverify?secret=SEU_SITE_KEY&response=' . $postData['g-recaptcha-response'];

Com isso ele vai retornar um json com uma posição para que você possa testar se a resposta é válida ou não.

Embora na aula eu faça o uso do CURL, você pode fazer isso facilmente também com o file_get_contents(), fica assim:

$content = json_decode(file_get_contents($url));

Agora é só dar um var_dump na $content e pegar o resultado.

Feedback

E aí, conseguiu implementar o recaptcha no seu sistema? É bem tranquilo, não é verdade? Me conta se você vai colocar no seu projeto e se conseguiu validar a sua resposta :)

Me diga o que você achou do conteúdo, vou aguardar o seu feedback!

Compartilhe:

Em Programação:

Deixe seu comentário: