Bonjour,
je ne parviens pas à intégrer correctement l'invisible recaptcha de google pour protéger un formulaire de contact.

Voici mon code pour entre les balises head :

<script src="https://www.google.com/recaptcha/api.js?hl=fr » async defer></script>
<script type="text/javascript">
  var onSubmit = function(response) {
    document.getElementById("FormName").submit(); 
  };
</script></head>

Dans le body avant le formulaire :

<?php

    // Secret key
    $secret = « CLEF_SECRETE_ICI »;
    // envoi recaptcha
    $response = $_POST['g-recaptcha-response'];
    // Get user IP
    $remoteip = $_SERVER['REMOTE_ADDR'];

    $api_url = "https://www.google.com/recaptcha/api/siteverify?secret=" 
        . $secret
        . "&response=" . $response
        . "&remoteip=" . $remoteip ;

    $decode = json_decode(file_get_contents($api_url), true);

    if ($decode['success'] == true) {
        // C’est un humain

    else {
        // C’est un BOT ou il y a une erreur

?>          

juste avant le bouton de soumission dans le formulaire :

 <div class="g-recaptcha"
       data-sitekey=« CLEF_PUBLIC_ICI »
       data-callback="onSubmit"
       data-size="invisible">
  </div>
    <div  style="width:340px;">
        <input id="valid" type="submit"value=« Send»><br>&nbsp;&nbsp;(<i>Tous les champs doivent être complétés</i>)
   </div>
    </form>

Je n'ai rien modifié à la page de traitement, contrôle du remplissage des champs Nom, Email , Message et validation du formulaire selon le cas.
Toiut semble fonctionner, le formulaire est contrôlé et envoyé ou non comme avant l'intégration du Recaptcha , la vignette du Recaptcha "invisible" apparaît correctement mais, dans l'admin recaptcha Google j'obtiens le message d'erreur suivant :
We detected that your site is not verifying reCAPTCHA solutions. This is required for the proper use of reCAPTCHA on your site.

En d'autres termes, protection que dalle je suppose et d'ailleurs, il manque cruellement une possibilté simple de vérifier le comportement du Recaptcha qui doit afficher le challenge habituel en cas de doute sur l'identité de l'utilisateur.
Merci pour votre attention et d'avance pour tout commentaire pertinent

Aucune réponse