如何在 7.3 之前的 PHP 版本中設定 cookie 的「SameSite」屬性?

Susan Sarandon
發布: 2024-10-25 02:41:02
原創
452 人瀏覽過

How can I set the

如何使用PHP "SameSite=Strict"

回應「RFC 6265」中概述的最新更改,該更改引入了「SameSite= Strict” Site”屬性用於控制cookie 訪問,人們對在PHP 中支援此屬性越來越感興趣。 PHP 版本7.3 和上面,設定「同一網站」屬性的功能已透過setcookie() 函數中的$options 數合併。 🎜>

PHP

PHP

PHP

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

對於🎜> v7.3

對於採用替代解決方案:

1. Apache 設定:

透過將下列行新增至Apache 設定中,您可以將所有cookie 的「相同網站」值設定為“Lax”:
Header always edit Set-Cookie (.*) "; SameSite=Lax"
登入後複製

2. Nginx 配置:

Nginx 也有類似的方法,您可以使用以下配置將所有cookie 的“同一站點”設定為「嚴格」:
location / {
    # your usual config ...
    # hack, set all cookies to secure, httponly and samesite (strict or lax)
    proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
}
登入後複製

3.標頭方法:

由於cookie 本質上是HTTP 請求中的標頭,因此您可以使用header () 方法設定它們:
<code class="php">header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");</code>
登入後複製

4. setcookie() 錯誤利用:

setcookie() 方法中存在一個已知錯誤,允許在7.3 之前的PHP 版本中將「相同站點」值設為「嚴格」:
<code class="php">setcookie('cookie-name', '1', 0, '/; samesite=strict');</code>
登入後複製

注意:

此錯誤已在PHP 7.3 中修復。

以上是如何在 7.3 之前的 PHP 版本中設定 cookie 的「SameSite」屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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