Hello !
J'ai un script PHP qui permet de déterminer si un utilisateur est un robot ou non en vérifiant un token
Ce script fonctionne très bien, je l'utilise depuis déjà quelques mois.
Aujourd'hui j'aimerais l'utiliser par l'intermédiaire d'une fonction.
Ma fonction ne fonctionne pas; elle retourne systématiquement "false" résultat de la condition :
Je l'impression que le problème viendrait de la portée d'une fonction/variable.
Voici la fonction :
Voilà
Maël
Modifié par maelstaudt (23 Sep 2021 - 11:50)
J'ai un script PHP qui permet de déterminer si un utilisateur est un robot ou non en vérifiant un token
$captcha_reponse;
à l'aide de Google reCAPTCHA v3. Ce script fonctionne très bien, je l'utilise depuis déjà quelques mois.
Aujourd'hui j'aimerais l'utiliser par l'intermédiaire d'une fonction.
Ma fonction ne fonctionne pas; elle retourne systématiquement "false" résultat de la condition :
if(empty($response) || is_null($response)) { return false; }
Je l'impression que le problème viendrait de la portée d'une fonction/variable.
Voici la fonction :
function Captcha($captcha_reponse) {
global $captcha_secret;
if(empty($captcha_reponse)) {
return false;
} else {
$url = "https://www.google.com/recaptcha/api/siteverify?secret={$captcha_secret}&response={$captcha_reponse}";
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 {
$response = file_get_contents($url);
}
if(empty($response) || is_null($response)) {
return false;
} else {
$data = json_decode($response);
$score_captcha = $data->score;
if($data->success) {
return true;
}
}
}
}
Voilà
Maël
Modifié par maelstaudt (23 Sep 2021 - 11:50)