Ajouter le reCaptcha de Google sur votre site web

Statut
N'est pas ouverte pour d'autres réponses.

Mathieu ?

IT Officer @STATION F
Premium
Inscription
19 Novembre 2016
Messages
1 247
Réactions
1 460
Points
12 310
nocaptcha.gif


Dans ce tutoriel je vais vous expliquer comment ajouter le reCaptcha de Google sur votre site web. ::D:
Prérequis :
  • Créer et configurer un captcha sur le site
  • Votre clé secrete obtenue
  • La clé public obtenue
Dans un premier temps vous aller créer un fichier PHP qui va permettre de communiquer avec l'API de google. Je vais appeler ce fichier reCaptcha.php et y mettre ce code :
PHP:
<?php
class reCaptcha {
function isValid($code, $clesecrete, $ip = null)
{
    if (empty($code)) {
        return false; // Si aucun code n'est entré, on ne cherche pas plus loin
    }
    $params = [
        'secret'    => $clesecrete,
        'response'  => $code
    ];
    if( $ip ){
        $params['remoteip'] = $ip;
    }
    $url = "https://www.google.com/recaptcha/api/siteverify?" . http_build_query($params);
    if (function_exists('curl_version')) {
        $curl = curl_init($url);
        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);
    } else {
        // Si curl n'est pas dispo, un bon vieux file_get_contents
        $response = file_get_contents($url);
    }

    if (empty($response) || is_null($response)) {
        return false;
    }

    $json = json_decode($response);
    return $json->success;
}
}
?>

Une fois cela fais enregistrer et fermer votre fichier, n'oubliez pas de le mettre a la racine de votre site web.

Maintenant pour insérer un captcha sur votre site il vous suffit tout simplement d'ajouter la ligne suivante dans la balise <head> pour importer le JavaScript du captcha:
HTML:
<script src='https://www.google.com/recaptcha/api.js'></script>

Et enfin l'ajout de la div permettant d’afficher le captcha la où vous le souhaitez :

HTML:
<div class="g-recaptcha" data-sitekey="Votre cle publique"></div>

Une fois le captcha mise en place nous allons voir comment vérifier si le captcha a bien était validée !
Pour cela nous allons dans un premier temps importer notre fichier créer en début de tuto et déclarer dans une variable notre clé secrète :
PHP:
<?php
require('reCaptcha.php');
$macle = "azevazeha646RFDkdabz";

$Captcha = new reCaptcha;

if ($Captcha->isValid($_POST['g-recaptcha-response'],$macle)){
  // L'utilisateur est un Humain
}else {
   // l'utilisateur n'est pas un Humain
}
?>


Voila vous savez maintenant comment ajouté le reCaptcha de Google, je vous laisse vous même sécuriser tout sa ::):
 
Dernière édition:

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 492
Points
32 425
nocaptcha.gif


Dans ce tutoriel je vais vous expliquer comment ajouter le reCaptcha de Google sur votre site web. ::D:
Prérequis :
  • Créer et configurer un captcha sur le site
  • Votre clé secrete obtenue
  • La clé public obtenue
Dans un premier temps vous aller créer un fichier PHP qui va permettre de communiquer avec l'API de google. Je vais appeler ce fichier reCaptcha.php et y mettre ce code :
PHP:
<?php
class reCaptcha {
function isValid($code, $clesecrete, $ip = null)
{
    if (empty($code)) {
        return false; // Si aucun code n'est entré, on ne cherche pas plus loin
    }
    $params = [
        'secret'    => $clesecrete,
        'response'  => $code
    ];
    if( $ip ){
        $params['remoteip'] = $ip;
    }
    $url = "https://www.google.com/recaptcha/api/siteverify?" . http_build_query($params);
    if (function_exists('curl_version')) {
        $curl = curl_init($url);
        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);
    } else {
        // Si curl n'est pas dispo, un bon vieux file_get_contents
        $response = file_get_contents($url);
    }

    if (empty($response) || is_null($response)) {
        return false;
    }

    $json = json_decode($response);
    return $json->success;
}
}
?>

Une fois cela fais enregistrer et fermer votre fichier, n'oubliez pas de le mettre a la racine de votre site web.

Maintenant pour insérer un captcha sur votre site il vous suffit tout simplement d'ajouter la ligne suivante dans la balise <head> pour importer le JavaScript du captcha:
HTML:
<script src='https://www.google.com/recaptcha/api.js'></script>

Et enfin l'ajout de la div permettant d’afficher le captcha la où vous le souhaitez :

HTML:
<div class="g-recaptcha" data-sitekey="Votre cle publique"></div>

Une fois le captcha mise en place nous allons voir comment vérifier si le captcha a bien était validée !

Pour cela nous allons dans un premier temps importer notre fichier créer en début de tuto et déclarer dans une variable notre clé secrète :


PHP:
<?php
require('reCaptcha.php'):
$macle = azevazeha646RFDkdabz;

$Captcha = new reCaptcha;

if ($Captcha->isValid($_POST['g-recaptcha-response'],$macle)){
  // L'utilisateur est un Humain
}else {
   // l'utilisateur n'est pas un Humain
}
?>


Voila vous savez maintenant comment ajouté le reCaptcha de Google, je vous laisse vous même sécuriser tout sa ::):

):
$macle = azevazeha646RFDkdabz;


devrait être entre guillemet non ? :trollface:
 

iSnAwXz

Premium
Inscription
26 Novembre 2011
Messages
8 111
Réactions
2 604
Points
15 341
Je viens de faire ton tuto correctement, pourtant je peux toujours m'inscrire sans cocher le recaptcha :/
 

Rivals

Ancien staff
Inscription
27 Août 2016
Messages
1 705
Réactions
895
Points
13 104
https://reality-gaming.fr/threads/utilisez-recaptcha-sur-votre-site-web.577957/ :p
 

Mathieu ?

IT Officer @STATION F
Premium
Inscription
19 Novembre 2016
Messages
1 247
Réactions
1 460
Points
12 310
Je viens de faire ton tuto correctement, pourtant je peux toujours m'inscrire sans cocher le recaptcha :/
A tu bien mis le recaptcha dans la Form et ensuite ajouter ce code
PHP:
<?php
require('reCaptcha.php');
$macle = "azevazeha646RFDkdabz";

$Captcha = new reCaptcha;

if ($Captcha->isValid($_POST['g-recaptcha-response'],$macle)){
  ICI ton code
}else {
   La ton erreur
}
?>
 

iSnAwXz

Premium
Inscription
26 Novembre 2011
Messages
8 111
Réactions
2 604
Points
15 341
A tu bien mis le recaptcha dans la Form et ensuite ajouter ce code
PHP:
<?php
require('reCaptcha.php');
$macle = "azevazeha646RFDkdabz";

$Captcha = new reCaptcha;

if ($Captcha->isValid($_POST['g-recaptcha-response'],$macle)){
  ICI ton code
}else {
   La ton erreur
}
?>
non
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 492
Points
32 425
Une discussion très similaire existe déjà sur le forum.
Je déplace donc celle-ci pour cause de doublon . :modo:
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut