Problem: Sie haben Google reCAPTCHA v3 mit einem Kontrollkästchen auf der Serverseite implementiert Front-End, aber Sie haben Schwierigkeiten, es auf der Serverseite zu validieren. Das Formular wird auch dann gesendet, wenn das Captcha ungültig ist.
Lösung:
Um die Validierung von Google reCAPTCHA v3 auf der Serverseite effektiv durchzuführen, ist es wichtig, POST-Anfragen zu verwenden . Hier ist eine Lösung:
<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>
Erklärung:
Verwendung:
In Ihren Code schreiben Sie einfach:
if (isValid()) { // The user has passed the captcha validation. } else { // The user has failed the captcha validation. }
Hinweis: Stellen Sie sicher, dass Sie [IHR GEHEIMSCHLÜSSEL] im bereitgestellten Code-Snippet durch Ihren tatsächlichen reCAPTCHA-Geheimschlüssel ersetzen.
Das obige ist der detaillierte Inhalt vonWie verifiziert man Google reCAPTCHA v3 auf der Serverseite in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!