Php:设置cookie属性SameSite=None的头;安全系统根本不起作用
我知道对于同一个问题有很多解决方案,但我都试过了,没有一个有效 我尝试过以下方法,但没有一种有效。我的php版本是7.1,我使用的是Codeigniter框架 通过在index.php中设置标头Php:设置cookie属性SameSite=None的头;安全系统根本不起作用,php,codeigniter,cookies,header,samesite,Php,Codeigniter,Cookies,Header,Samesite,我知道对于同一个问题有很多解决方案,但我都试过了,没有一个有效 我尝试过以下方法,但没有一种有效。我的php版本是7.1,我使用的是Codeigniter框架 通过在index.php中设置标头 header('Set-Cookie:HttpOnly;SameSite=None;Secure') 通过在.htaccess中设置 Header编辑集Cookie^(.*)“$1;HttpOnly;Secure;SameSite=none” 通过在apache2 httpd.conf中设置 Heade
header('Set-Cookie:HttpOnly;SameSite=None;Secure')代码>
通过在.htaccess中设置
Header编辑集Cookie^(.*)“$1;HttpOnly;Secure;SameSite=none”
通过在apache2 httpd.conf中设置
Header编辑集Cookie^(.*)“$1;HttpOnly;Secure;SameSite=None”
“我已经审查了Chrmoe git的更新,”它说
header('Set-Cookie:cross-site Cookie=bar;SameSite=None;Secure')代码>
我没有得到选项跨站点cookie=bar
。它的价值是什么
我也尝试了同样的方法,但根本不起作用。您好,我通过以下方法解决了这个问题。希望对其他人有所帮助
在httpd.conf中(对于bitnami服务器,文件将是/opt/bitnami/apache2/conf)
这也可能对仍在挣扎的人有所帮助,他们可以使用PHP>=7.3.x和CI 3.1.11
在根目录中找到的index.php中,添加下面的代码“我没有得到选项跨站点cookie=bar
”——这只是cookie的名称和值……我已经尝试过了。我正在设置我的cookie值和名称,但它不起作用。我只是在PHP7.2下测试了它,它按预期工作。如果不适合您,请给出一个适当的问题描述。在Dhara的响应中添加(因为我的帐户太新,无法评论),Apache文档说响应头来自两组内部表。因此,有些东西需要“总是”才能工作,而另一些东西需要“总是”才能工作。在我的例子中,Ubuntu18.04、Apache2.4.29我必须删除“始终”,以便在PHP7.2中编辑标题。文档似乎建议您可以使用两个指令来覆盖所有基础,但我还没有测试过。不要使用这个。将此硬编码到Apache conf或.htaccess中会导致不兼容的浏览器完全拒绝cookie,因为它们不理解SameSite=None。您需要嗅探useragent以确定SameSite=None是否能在特定浏览器上工作。谷歌概述了这一过程:
Header always edit Set-Cookie ^(.*)$ $1;Secure;SameSite=None
if(isset($_COOKIE["PHPSESSID"])){
header('Set-Cookie: PHPSESSID='.$_COOKIE["PHPSESSID"].'; SameSite=None');
}