codeigniter Php:设置cookie属性的头SameSite=None; Secure根本不工作

pftdvrlh  于 2022-12-07  发布在  PHP
关注(0)|答案(3)|浏览(206)

我知道有很多解决方案给出了关于同一个问题,但我尝试了所有的,没有一个工作在所有。
我试过以下方法,但都不起作用。我的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 .什么将是它的价值.
我也试过同样的一个,但它根本不工作。

0wi1tuuw

0wi1tuuw1#

你好,我已经解决了这个问题,通过以下。希望它会帮助其他人
在httpd.conf中(对于bitnami服务器,文件将是/opt/bitnami/apache 2/conf)

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

kfgdxczn2#

这也可能对那些仍然在使用PHP〉= 7.3.x和CI 3.1.11的人有所帮助
在根目录下找到的index.php中,添加下面的代码〈?php

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

它对我起作用了,在尝试了这一切(徒劳)之后

lyr7nygr

lyr7nygr3#

将下面的代码粘贴到.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>

相关问题