Wie verifiziert man Google reCAPTCHA v3 serverseitig?
P粉904191507
2023-08-27 16:48:47
<p>Ich habe gerade das neue Google Captcha mit Kontrollkästchen eingerichtet und es funktioniert im Frontend einwandfrei, aber ich weiß nicht, wie ich es auf der Serverseite mit PHP handhaben soll. Ich habe versucht, den alten Code unten zu verwenden, aber das Formular wird gesendet, obwohl der Bestätigungscode ungültig ist. </p>
<pre class="brush:php;toolbar:false;">require_once('recaptchalib.php');
$privatekey = "mein Schlüssel";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
$errCapt='<p style="color:#D6012C ">Der CAPTCHA-Code wurde nicht korrekt eingegeben.</p>';}</pre>
<p><br /></p>
私钥安全
虽然这里的答案肯定有效,但它们使用
GET
请求,这会暴露您的私钥(即使使用https
)。在 Google Developers 上,指定的方法是POST
。有关更多详细信息:https://stackoverflow.com/a/323286/1680919
通过 POST 验证
数组语法:我使用“新”数组语法(
[
和]
而不是array(..))。如果您的 php 版本尚不支持此功能,您将必须相应地编辑这 3 个数组定义(请参阅评论)。
返回值:如果用户有效,则此函数返回
来使用它true
;如果无效,则返回false
;如果用户有效,则返回null
如果发生错误。例如,您可以简单地通过编写if (isValid()) { ... }
这是解决方案
index.html
验证.php
http://codeforgeek.com/2014/12/google-recaptcha-tutorial /