Verificare Google reCAPTCHA 2 con PHP

Verificare Google reCAPTCHA 2 con PHP

ReCAPTCHA è il tools di Google che consente di evitare spam e bot sul proprio sito web. La versione 2 di Google reCAPTCHA è un po’ diversa dalla precedente, l’utente non deve più digitare il testo nella casella, è sufficiente un click per spuntare l’apposita casella captcha.

Esempio di Google reCAPTCHA 2

Ecco quindi come inserire nel sito web il reCAPTCHA 2 e validare la risposta con un controllo lato server in PHP.

Come inserire reCAPTCHA 2 nel tuo sito

HTML

Per prima cosa bisogna inserire il reCAPTCHA lato client, normalmente, come indicato sul sito ufficiale:

<script src='https://www.google.com/recaptcha/api.js'></script>

<form method="post" action="file.php">
<div class="g-recaptcha" data-sitekey="CHIAVE_DEL_SITO"></div>
<button type="submit" id="submit">Submit</button>
</form>

PHP

A questo punto si può procedere con la validazione server-side in PHP:

<?php
$response = $_POST["g-recaptcha-response"];
$url = 'https://www.google.com/recaptcha/api/siteverify';
$data = array(
  'secret' => 'CHIAVE_SEGRETA',
  'response' => $_POST["g-recaptcha-response"]
);
$options = array(
  'http' => array (
    'method' => 'POST',
    'content' => http_build_query($data)
  )
);
$context  = stream_context_create($options);
$verify = file_get_contents($url, false, $context);
$captcha_success=json_decode($verify);
if ($captcha_success->success==false) { echo "captcha non valido"; }
else { // continua esecuzione script...

In entrambi i codici vanno sostituite CHIAVE_DEL_SITOCHIAVE_SEGRETA con quelle fornite dopo essersi iscritti sul sito ufficiale reCAPTCHA.

Fonte: www.kaplankomputing.com/blog/tutorials/recaptcha-php-demo-tutorial/

Ilario Pellandini

::: Certified Web developer 2006-2018 ::: ::: www.IPELWEB.com :::

More Posts - Website