如何在Apache 2.4和PHP 7.1的Chrome中解决跨站点Google Analytics(分析)Cookie“ SameSite = None”警告?


14

我客户的网站在Chrome中收到这些SameSite Cookie警告。我到处搜寻了,但警告却消失了。这些Cookie是由于Wordpress网站上的Google广告转化跟踪所致。由于兼容性原因,该站点位于由运行PHP 7.1的DreamHost托管的Apache / 2.4.7(Ubuntu)上。在我的.htaccess文件中,我尝试添加:

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

我尝试了

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

...我尝试了

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

以及许多其他组合,包括SameSite = Lax

一本指南建议使用PHP 7.2及以下版本:

header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure');

但这给了我一个500 Internal Server Erorr

但是我仍然遇到以下三个错误:

设置了与跨站点资源关联的cookie,但未设置该SameSite属性。如果将来的Chrome浏览器版本将cookie设置为SameSite=None和,则仅会提供带有跨站点请求的cookie Secure。您可以在“应用程序”>“存储”>“ Cookies”下的开发人员工具中查看Cookie,并在和处查看更多详细信息。

(索引):1 设置了与http://doubleclick.net/上的资源关联的cookie ,SameSite=None但未设置Secure。Chrome的未来版本将仅提供SameSite=None带有标记的cookie Secure。您可以在“应用程序”>“存储”>“ Cookies”下的开发人员工具中查看Cookie,并在https://www.chromestatus.com/feature/5633521622188032上查看更多详细信息。

(索引):1 设置了与http://google.com/上的资源关联的cookie ,SameSite=None但未设置Secure。Chrome的未来版本将仅提供SameSite=None带有标记的cookie Secure。您可以在“应用程序”>“存储”>“ Cookies”下的开发人员工具中查看Cookie,并在https://www.chromestatus.com/feature/5633521622188032上查看更多详细信息。

在我的研究中,关于警告的信息似乎很少,并且在可用的指南中,我不确定是否必须按名称标识cookie或如何在其来源处固定cookie /标题。

Answers:


10

我在Google Chrome实验室的github页面上发布了类似的问题后得到了答复。

触发警告的Cookie来自google.com,因此您将无法对其进行更改。广告团队已意识到这些问题,并正在努力在2020年2月的稳定日期之前修复其Cookie。这也意味着您指定的标头指令均不会影响google.com cookie,而只会覆盖为您的网站设置的cookie。

如果您有任何Cookie警告特别列出了您所控制的域,则需要添加正确的属性。- 罗文


1

我会看一下跟踪脚本。这是gtag.js文档中有关跨域流量的部分。确保仅存在域,而没有www,http等。

gtag('set', 'linker', {
  'domains': ['example.com', 'example-b.com']
});

0

您是否尝试过以下方法?

Header Set Access-Control-Allow-Origin "*"
Header Set Access-Control-Allow-Credentials: true
Header set Set-Cookie: "ACookieAvailableCrossSite; SameSite=None; Secure"

控制台警告并不表示任何东西都必须损坏。您的网站将继续按预期工作。

希望此链接对您有所帮助。 Samesite-cookies-默认


在您说ACookieAvailableCrossSite的地方,我假设我没有使用该实际术语?我有大约10个与Google名称相关的Cookie名称,我需要添加每个吗?该语法是什么样的?
本森

Access-Control-Allow- 用于跨站点Cookie。如第一行所示,它允许所有域。因此,您不需要添加每个。
克里希南(Krishnan),

1
大多数网站都有相同的问题。我希望它将由Google自己解决。只需查看Google chrome上的stackoverflow控制台警告。在那里您可以看到相同的警告。
克里希南,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.