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

Mary-Kate Olsen
發布: 2024-10-25 04:44:02
原創
650 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!