Comment vérifier Google reCAPTCHA v3 côté serveur ?
P粉904191507
2023-08-27 16:48:47
<p>Je viens de configurer le nouveau Google Captcha avec des cases à cocher et cela fonctionne bien sur le front-end, mais je ne sais pas comment le gérer côté serveur en utilisant PHP. J'ai essayé d'utiliser l'ancien code ci-dessous mais le formulaire est envoyé même si le code de vérification n'est pas valide. </p>
<pre class="brush:php;toolbar:false;">require_once('recaptchalib.php');
$privatekey = "ma clé" ;
$resp = recaptcha_check_answer ($privatekey,
$_SERVEUR["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
si (!$resp->is_valid) {
$errCapt='<p style="color:#D6012C ">Le code CAPTCHA n'a pas été saisi correctement.</p>';}</pre>
<p><br /></p>
Sécurité des clés privées
Bien que les réponses ici fonctionnent définitivement, elles utilisent
GET
请求,这会暴露您的私钥(即使使用https
). Sur Google Developers, la méthode spécifiée estPOST
.Pour plus de détails : https://stackoverflow.com/a/323286/1680919
Vérifié via POST
Syntaxe du tableau : J'utilise la "nouvelle" syntaxe du tableau (
). Si votre version de php ne le supporte pas encore, vous devrez modifier ces 3 définitions de tableaux en conséquence (voir commentaires).[
和]
[ et]
au lieu de array(..)Valeur de retour
true si invalide, elle renvoie 🎜false si l'utilisateur est valide, elle renvoie 🎜null si un erreur se produit. Par exemple, vous pouvez l'utiliser simplement en écrivant 🎜if (isValid()) { ... }🎜true
;如果无效,则返回false
;如果用户有效,则返回null
如果发生错误。例如,您可以简单地通过编写if (isValid()) { ... }
: Si l'utilisateur est valide, cette fonction renvoieC'est la solution
index.html
verify.php
http://codeforgeek.com/2014/12/google-recaptcha-tutorial/