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