繁体   English   中英

Php:为 cookie 属性设置标头 SameSite=None;Secure 根本不起作用

[英]Php: Set header for cookie attribute SameSite=None;Secure is not working at all

我知道针对同一个问题有很多解决方案,但我尝试了所有这些解决方案,但没有一个有效。

我尝试了以下方法,但都没有用。 我的 php 版本是 7.1,我正在使用 Codeigniter 框架。

通过在 index.php 中设置标头

header('Set-Cookie: HttpOnly; SameSite=None;Secure');

通过在 .htaccess 中设置

Header edit Set-Cookie ^(.*)$ "$1;HttpOnly;Secure;SameSite=none"

通过在 apache2 httpd.conf 中设置

Header edit Set-Cookie ^(.*)$ "$1;HttpOnly;Secure;SameSite=None"

我查看了 Chrmoe git 更新,它说header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure');

我没有得到选项cross-site-cookie=bar 它有什么价值。

我也尝试过同样的方法,但它根本不起作用。

您好,我已经通过以下方式解决了这个问题。 希望对其他人有帮助

在 httpd.conf (对于 bitnami 服务器文件将是 /opt/bitnami/apache2/conf)

Header always edit Set-Cookie ^(.*)$ $1;Secure;SameSite=None

这也可能对仍在苦苦挣扎并使用 PHP >= 7.3.x 并使用 CI 3.1.11 的人有所帮助

在根目录下找到的index.php中,添加<?php下面的代码

if(isset($_COOKIE["PHPSESSID"])){
    header('Set-Cookie: PHPSESSID='.$_COOKIE["PHPSESSID"].'; SameSite=None');
}

它对我有用,在尝试了所有之后(徒劳无功)

将下面的代码粘贴到您的 .htaccess 文件中

<If "%{HTTP_USER_AGENT} !~ /(iPhone; CPU iPhone OS 1[0-4]|iPad; CPU OS 1[0-4]|iPod touch; CPU iPhone OS 1[0-4]|Macintosh; Intel Mac OS X.*Version\x2F1[0-3].*Safari|Macintosh;.*Mac OS X 10_14.* AppleWebKit.*Version\x2F1[0-3].*Safari)/i">
    Header edit Set-Cookie ^(.*)$ $1;SameSite=None;Secure
</If>

这对我有用:

sudo nvim /etc/apache2/conf-available/security.conf

Header set Set-Cookie "mycookie=myvalue; Domain=mydomain.com; Path=/; Secure; HttpOnly; SameSite=Strict"

sudo systemctl 重新启动 apache2

标头集 Set-Cookie

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM