Heim >Backend-Entwicklung >PHP-Tutorial >Wie implementiert man das SameSite-Attribut für PHP-Cookies?
RFC 6265 führt das „Same Site“-Attribut für Cookies ein, das die Cookie-Sicherheit erhöht, indem es Cross-Site Request Forgery (CSRF) einschränkt. Angriffe.
PHP-Unterstützung:
Für PHP >= v7.3:
Die Funktion setcookie() unterstützt das „Same Site“-Attribut über das $options-Array. Die gültigen Werte sind:
Für PHP < v7.3:
Aufgrund von PHP-Kerneinschränkungen sind mehrere Problemumgehungen verfügbar:
Apache-Konfiguration:
Fügen Sie die folgende Zeile hinzu Ändern Sie alle Cookies mit dem Attribut „Same Site“:
Header always edit Set-Cookie (.*) "; SameSite=Lax"
Nginx-Konfiguration:
Aktualisieren Sie die Konfiguration so, dass sie Folgendes enthält:
proxy_cookie_path / "; secure; HttpOnly; SameSite=strict";
Header-Methode:
Sie können Cookies explizit mithilfe von Headern setzen:
header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");
Ausnutzen eines Fehlers:
Verwenden eines veraltete setcookie()-Methode, die einen Fehler ausnutzt:
setcookie('cookie-name', '1', 0, '/; samesite=strict');
Hinweis: Dieser Fehler wurde in PHP 7.3 behoben.
Referenzen:
Das obige ist der detaillierte Inhalt vonWie implementiert man das SameSite-Attribut für PHP-Cookies?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!