IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Formulaire avec Google NoCaptcha


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Formulaire avec Google NoCaptcha
    Bonjour,

    Je cherche a mettre en place recaptcha sur la page de contact de mon site web.
    Mais je n'arrive pas a comprendre pourquoi cela ne fonctionne pas.
    J'ai refait une page de formulaire toute propre pour tester qu'avec cette fonction, je ne vois toujours pas.
    Les exemples que je trouve on l'air similaire mais je n'ai ni message d'erreur, ni rien vu de désactive en rapport dans mon phpinfo().

    $requestURL si on l'ouvre depuis un navigateur affiche bien "success" true/false en fonction
    json_decode($reponse, true) a l'air lui de ne rien retourné

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    <?php
    $nom = null;
    $courriel = null;
    $message = null;
    $captcha = null;
    $requestURL = null;
    $reponse  = null;
    $status  = null;
     
    if(isset($_POST['submitted'])) {
    $nom = $_POST['nom'];
    $courriel = $_POST['courriel'];
    $message = $_POST['message'];
    $captcha = $_POST['g-recaptcha-response'];
     
    $remoteip = $_SERVER['REMOTE_ADDR'];
    $secret	 = macléprivé;
    $requestURL = 'https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$captcha.'&remoteip='.$remoteip;
     
    $curl = curl_init($requestURL);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_TIMEOUT, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    $response = curl_exec($curl);
     
    $status= json_decode($reponse, true);
    if($status['success'])
    {
    $status="reCAPTCHA ok";
    }
    else
    {
    $status="Please re-enter your reCAPTCHA.";
    }
    }
    ?>
     
    <p><?php 
     
    echo $nom.' -- ';echo $courriel.' --- '; echo $message.'</br></br>';
    echo $captcha.'</br></br>';
    echo $requestURL.'</br></br>';
    echo $reponse.'</br></br>';
    echo $status.'</br></br>';
    ?>
    <form action="recaptcha2.php" method="post">
        <div>
            <label for="nom">Nom :</label>
            <input type="text" id="nom" name="nom" value ="nom"/>
        </div>
        <div>
            <label for="courriel">Courriel :</label>
            <input type="email" id="courriel" name="courriel" value ="mail@domaine.com" />
        </div>
        <div>
            <label for="message">Message :</label>
            <textarea id="message" name="message">message</textarea>
    	<div class="g-recaptcha" data-sitekey="maclépublique"></div>
    	<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?hl=fr"></script>
        <div class="button">
    		<input type="hidden" name="submitted" id="submitted" value="true" />
            <button type="submit">Envoyer votre message</button>
        </div>
        </div>
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    curl
    cURL support 	enabled
    cURL Information 	7.36.0
    AsynchDNS 	Yes
    SSL 	Yes
    TLS-SRP 	Yes
    Protocols 	dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, pop3, pop3s, rtsp, scp, sftp, smtp, smtps, telnet, tftp 
    Host 	armle-unknown-linux-gnu
    SSL Version 	OpenSSL/1.0.1k
    ZLib Version 	1.2.8
    libSSH Version 	libssh2/1.4.3

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Pour mettre en place le nouveau reCAPTCHA il faut commencer par importer le javascript dans la partie head de notre site :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script src='https://www.google.com/recaptcha/api.js'></script>

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour jreaux62,

    Je ne pense pas que cela change quelque chose puisqu'il s'affiche et renvoie bien une une valeur post.

    Je viens de trouver :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     $requestURL  = "https://www.google.com/recaptcha/api/siteverify";
     $requestURL .= "?secret="  .urlencode(stripslashes($secret));
     $requestURL .= "&response=".urlencode(stripslashes($captcha));
     $requestURL .= "&remoteip=".urlencode(stripslashes($remoteip));
     
    $curl = curl_init($requestURL);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_TIMEOUT, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    $response = curl_exec($curl);
    /* ou 
    $response = file_get_contents($requestURL);*/
     
      $status = json_decode($response,true);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérification de formulaire avec regexp
    Par Shadow aok dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/08/2007, 11h57
  2. Réponses: 7
    Dernier message: 19/10/2004, 16h12
  3. Créer un formulaire avec VBA ?
    Par Jean Bonnisme dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/10/2004, 10h40
  4. Réponses: 10
    Dernier message: 10/06/2004, 16h20
  5. Gestion de formulaire avec xml et sans serveur ?
    Par meliane dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 05/05/2004, 19h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo