Mit PHP „SameSite=Strict“-Cookies setzen
Das „SameSite“-Attribut erhöht die Sicherheit von Cookies, indem es deren Zugänglichkeit für Dritte einschränkt -Party-Kontexte. Im April 2016 wurde diese Funktion in Chrome 51 und Opera 39 eingeführt.
PHP 7.3 und höher
Für PHP-Versionen 7.3 und höher können Sie das „ SameSite“-Attribut unter Verwendung des $options-Arrays in der setcookie()-Funktion:
<code class="php">setcookie($name, $value, [ 'expires' => time() + 86400, 'path' => '/', 'domain' => 'domain.example', 'secure' => true, 'httponly' => true, 'samesite' => 'None', ]);</code>
Das „samesite“-Element sollte den Wert „None“, „Lax“ oder „Strict“ haben.
PHP-Versionen unter 7.3
Wenn Sie PHP-Versionen unter 7.3 verwenden, können Sie die folgenden Problemumgehungen anwenden:
1. Änderung der Apache-Konfiguration
Fügen Sie dies zu Ihrer Apache-Konfiguration hinzu:
Header always edit Set-Cookie (.*) "; SameSite=Lax"
2. Nginx-Konfigurationsänderung
Fügen Sie dies in Ihre Nginx-Konfiguration ein:
location / { # your usual config ... # hack, set all cookies to secure, httponly and samesite (strict or lax) proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict"; }
3. Header-Methode
Cookies mithilfe der Header-Methode setzen:
<code class="php">header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");</code>
4. Fehler in der setcookie()-Methode
Verwenden Sie diese Methode mit Vorsicht, da sie in PHP 7.3 behoben wurde:
<code class="php">setcookie('cookie-name', '1', 0, '/; samesite=strict');</code>
Denken Sie daran, die entsprechende Problemumgehung basierend auf Ihrer Codebasis und Ihren Anforderungen zu verwenden .
Das obige ist der detaillierte Inhalt vonWie setzt man „SameSite=Strict'-Cookies in PHP: Eine Anleitung für verschiedene Versionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!