首頁 >後端開發 >php教程 >如何在 PHP 中設定「SameSite=Strict」Cookie:不同版本指南?

如何在 PHP 中設定「SameSite=Strict」Cookie:不同版本指南?

Linda Hamilton
Linda Hamilton原創
2024-10-25 05:53:02330瀏覽

How to Set “SameSite=Strict” Cookies in PHP: A Guide for Different Versions?

使用PHP 設定「SameSite=Strict」Cookie

「SameSite」屬性透過限制第三方對Cookie 的存取來增強Cookie性- 政黨背景。 2016 年 4 月,該功能在 Chrome 51 和 Opera 39 中引入。

PHP 7.3 以上

對於PHP 7.3 及更高版本,您可以直接設定「在setcookie() 函數中使用$options 陣列的SameSite" 屬性:

<code class="php">setcookie($name, $value, [
    'expires' => time() + 86400,
    'path' => '/',
    'domain' => 'domain.example',
    'secure' => true,
    'httponly' => true,
    'samesite' => 'None',
]);</code>

「samesite」元素的值應為「None」、「Lax」或「Strict」。

低於7.3 的PHP 版本

如果您使用低於7.3 的PHP 版本,可以採用以下解決方法:

1 . Apache 設定修改

將此新增至您的Apache 設定中:

Header always edit Set-Cookie (.*) "; SameSite=Lax"

2. Nginx 設定修改

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 配置中:

3.標頭方法
<code class="php">header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");</code>

使用標頭方法設定cookie:

使用標頭方法設定cookie:

<code class="php">setcookie('cookie-name', '1', 0, '/; samesite=strict');</code>

使用標頭方法設定cookie:

4. setcookie() 方法中的錯誤請謹慎使用此方法,因為它已在PHP 7.3 中解決:請記住根據您的程式碼庫和要求使用適當的解決方法.

以上是如何在 PHP 中設定「SameSite=Strict」Cookie:不同版本指南?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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