Utilisation de Google reCAPTCHA v3 côté serveur
ReCAPTCHA v3 de Google est une méthode de détection de robots plus avancée que son prédécesseur basé sur des cases à cocher. Bien que sa mise en œuvre sur le front-end soit simple, la gestion de la validation côté serveur nécessite une approche différente.
Validation reCAPTCHA v2 obsolète
Le code que vous avez mentionné utiliser pour La validation reCAPTCHA v2 ne convient plus à la v3. reCAPTCHA v3 utilise une requête POST avec des paramètres supplémentaires et une clé secrète pour la validation.
Validation sécurisée basée sur POST pour reCAPTCHA v3
Voici un script PHP révisé utilisant POST- validation basée sur reCAPTCHA v3 :
<code class="php">function isValid() { try { $url = 'https://www.google.com/recaptcha/api/siteverify'; $data = [ 'secret' => '[YOUR SECRET KEY]', 'response' => $_POST['g-recaptcha-response'], 'remoteip' => $_SERVER['REMOTE_ADDR'] ]; $options = [ 'http' => [ 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data) ] ]; $context = stream_context_create($options); $result = file_get_contents($url, false, $context); return json_decode($result)->success; } catch (Exception $e) { return null; } }</code>
Utilisation
Appelez la fonction isValid() pour vérifier le jeton reCAPTCHA et gérer la réponse en conséquence. Par exemple :
<code class="php">if (isValid()) { // The user has passed the reCAPTCHA check. // ... } else { // The user has failed the reCAPTCHA check. // ... }</code>
Note de sécurité
Il est essentiel d'utiliser une clé secrète dans la requête POST pour protéger l'intégrité de la validation. Gardez cette clé secrète privée et ne l'exposez jamais publiquement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!