Heim >Backend-Entwicklung >PHP-Tutorial >Wie validiere ich Google reCAPTCHA v3 auf der Serverseite?
Verwendung von Google reCAPTCHA v3 auf der Serverseite
Googles reCAPTCHA v3 ist im Vergleich zu seinem Kontrollkästchen-basierten Vorgänger eine fortschrittlichere Methode zur Bot-Erkennung. Während die Implementierung am Frontend unkompliziert ist, erfordert die Handhabung der Validierung auf der Serverseite einen anderen Ansatz.
Veraltete reCAPTCHA v2-Validierung
Der Code, den Sie für verwendet haben Die Validierung von reCAPTCHA v2 ist für v3 nicht mehr geeignet. reCAPTCHA v3 verwendet eine POST-Anfrage mit zusätzlichen Parametern und einem geheimen Schlüssel zur Validierung.
Sichere POST-basierte Validierung für reCAPTCHA v3
Hier ist ein überarbeitetes PHP-Skript mit POST- basierte Validierung für 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>
Verwendung
Rufen Sie die Funktion isValid() auf, um das reCAPTCHA-Token zu überprüfen und die Antwort entsprechend zu verarbeiten. Zum Beispiel:
<code class="php">if (isValid()) { // The user has passed the reCAPTCHA check. // ... } else { // The user has failed the reCAPTCHA check. // ... }</code>
Sicherheitshinweis
Es ist wichtig, in der POST-Anfrage einen geheimen Schlüssel zu verwenden, um die Integrität der Validierung zu schützen. Halten Sie diesen geheimen Schlüssel geheim und geben Sie ihn niemals öffentlich preis.
Das obige ist der detaillierte Inhalt vonWie validiere ich Google reCAPTCHA v3 auf der Serverseite?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!