首頁  >  文章  >  後端開發  >  如何在 PHP 中使用「SameSite=Strict」設定 Cookie:開發人員指南

如何在 PHP 中使用「SameSite=Strict」設定 Cookie:開發人員指南

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-25 04:44:02651瀏覽

How to Set Cookies with

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>
3.標頭方法:

可以直接透過標頭方法設定Cookie,允許包含「SameSite」屬性:

<code class="php">setcookie('cookie-name', '1', 0, '/; samesite=strict');</code>
4. Cookie 設定錯誤:

PHP 7.3 之前的setcookie 方法中的一個已知錯誤可被利用來設定「SameSite」屬性:

注意: 這個錯誤已在PHP 7.3 中得到解決,應該避免使用它。

以上是如何在 PHP 中使用「SameSite=Strict」設定 Cookie:開發人員指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn