PHP Cookie:支援「SameSite=Strict」
簡介
簡介隨著標準🎜>隨著標準的不斷發展就網路安全而言,cookie 的設定受到了廣泛關注。其中一項關鍵更新是引入了「SameSite」屬性,該屬性增強了針對跨站點請求偽造 (CSRF) 和會話劫持的保護。
目前 PHP 對「SameSite=Strict」的支援從 PHP 7.3 版本開始,完全支援建立具有「SameSite」屬性的 cookie。開發人員現在可以利用 $options 陣列來設定 SameSite 值,從而實現更安全的 Cookie 管理。
舊 PHP 版本的選項對於 7.3 之前的 PHP 版本,存在將「SameSite」屬性合併到 cookie 中的替代解決方案。這些方法包括:
1. Apache 設定:Header always edit Set-Cookie (.*) "; SameSite=Lax"
Apache 使用者可以將下列行加入其設定檔中,以使用SameSite=Lax 標誌更新所有cookie:
2. Nginx 設定:location / { # your usual config ... # hack, set all cookies to secure, httponly and samesite (strict or lax) proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict"; }
Nginx 使用者可以使用以下設定來達到相同的結果:
<code class="php">header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");</code>
可以直接透過標頭方法設定Cookie,允許包含「SameSite」屬性:
<code class="php">setcookie('cookie-name', '1', 0, '/; samesite=strict');</code>
PHP 7.3 之前的setcookie 方法中的一個已知錯誤可被利用來設定「SameSite」屬性:
注意: 這個錯誤已在PHP 7.3 中得到解決,應該避免使用它。以上是如何在 PHP 中使用「SameSite=Strict」設定 Cookie:開發人員指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!