使用 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 配置修改
将其包含在您的 Nginx 配置中:
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:
<code class="php">header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");</code>
4. setcookie() 方法中的错误
请谨慎使用此方法,因为它已在 PHP 7.3 中解决:
<code class="php">setcookie('cookie-name', '1', 0, '/; samesite=strict');</code>
请记住根据您的代码库和要求使用适当的解决方法.
以上是如何在 PHP 中设置'SameSite=Strict”Cookie:不同版本指南?的详细内容。更多信息请关注PHP中文网其他相关文章!