Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // URL pour générer des clés: https://www.google.com/recaptcha/admin
- // Appeler l'API dans le <head> de la page :
- <script src="https://www.google.com/recaptcha/api.js" async defer></script>
- // Insérer cet input caché dans le <form> :
- <input type="hidden" name="recaptcha_token" />
- // Insérer le bouton en dehors du <form> :
- <button class="g-recaptcha" data-sitekey="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" data-callback="recaptchaCallback" data-badge="inline" style="margin-top:20px;">
- Envoyer
- </button>
- // Intégrer cette fonction JavaScript dans la page :
- function recaptchaCallback(recaptcha_token) {
- $('[name="recaptcha_token"]').val(recaptcha_token);
- // ici, valider le <form> ou envoyer les données de ce dernier
- }
- // En cas d'erreur de votre côté, possibilité de recharger le reCAPTCHA avec :
- grecaptcha.reset();
- // Vérifier la validité du reCAPTCHA à la réception des données du formulaire :
- $recaptcha_token = htmlspecialchars($_POST['recaptcha_token'],ENT_QUOTES);
- $recaptcha_ok = -1;
- if (!empty($recaptcha_token)) {
- $recaptcha_ok = 0;
- $url = 'https://www.google.com/recaptcha/api/siteverify';
- $myvars = 'secret=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY&response='.$recaptcha_token;
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $myvars);
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- $response = curl_exec($ch);
- $json = json_decode($response);
- if ($json->success)
- $recaptcha_ok = 1;
- }
- // Si le reCAPTCHA est validé, alors $recaptcha_ok = 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement