Heim > Artikel > Backend-Entwicklung > Wie verifiziert man Google reCAPTCHA v3 auf der Serverseite mit PHP?
Verifizierung von Google reCAPTCHA v3 auf der Serverseite mit PHP
Das neue Google reCAPTCHA-Kontrollkästchen lässt sich nahtlos in das Frontend integrieren, aber sein Server- Die seitliche Handhabung mit PHP kann eine Herausforderung darstellen. Um es effektiv auf dem Server zu verarbeiten, ist es wichtig, die wichtigsten Unterschiede zu den vorherigen reCAPTCHA-Versionen zu verstehen.
Alte reCAPTCHA-Validierung
Der bereitgestellte Codeausschnitt aus der Frage zeigt dies ein Ansatz, der für frühere reCAPTCHA-Versionen verwendet wurde. Es ist jedoch nicht für reCAPTCHA v3 geeignet:
<code class="php">require_once('recaptchalib.php'); // ... if (!$resp->is_valid) { $errCapt = '<p style="color:#D6012C ">The CAPTCHA Code was not entered correctly.</p>'; }</code>
Sicherheitsüberlegungen
Es ist zu beachten, dass die in der angegebenen Lösung verwendete GET-Anfragemethode Ihren privaten Schlüssel offenlegt. Für mehr Sicherheit empfiehlt Google stattdessen die Verwendung einer POST-Anfrage.
Überprüfung von reCAPTCHA v3 per POST
Um reCAPTCHA v3 auf der Serverseite mit PHP erfolgreich zu validieren, befolgen Sie diese Schritte :
<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>
Diese Funktion gibt true zurück, wenn der Benutzer den reCAPTCHA-Test erfolgreich bestanden hat, andernfalls false. und null im Fehlerfall. Mithilfe dieser Funktion können Sie Benutzer effizient authentifizieren und Spam- und Bot-Aktivitäten eindämmen.
Das obige ist der detaillierte Inhalt vonWie verifiziert man Google reCAPTCHA v3 auf der Serverseite mit PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!