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

2022-08-30 22:23:42

我的客户的网站在 Chrome 中收到这些 SameSite Cookie 警告。我已经搜索了一遍,我无法让警告消失。这些 Cookie 是由于 Wordpress 网站上的 Google Ad 转化跟踪造成的。出于兼容性原因,该网站位于由运行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 设置时没有该属性。Chrome 的未来版本将仅提供具有跨站点请求的 Cookie,前提是它们设置了 和 。您可以在应用程序>存储> Cookie 下的开发人员工具中查看 Cookie,并在 和 中查看更多详细信息。SameSiteSameSite=NoneSecure

(索引):1 与 http://doubleclick.net/ 的资源关联的 Cookie 设置为有 ,但没有 。Chrome 的未来版本将仅提供标记为 的 Cookie,如果它们也被标记为 .您可以在应用程序>存储> Cookie 下的开发人员工具中查看 Cookie,并在 https://www.chromestatus.com/feature/5633521622188032 查看更多详细信息。SameSite=NoneSecureSameSite=NoneSecure

(索引):1 与 http://google.com/ 的资源关联的 Cookie 设置为有 ,但没有 。Chrome 的未来版本将仅提供标记为 的 Cookie,如果它们也被标记为 .您可以在应用程序>存储> Cookie 下的开发人员工具中查看 Cookie,并在 https://www.chromestatus.com/feature/5633521622188032 查看更多详细信息。SameSite=NoneSecureSameSite=NoneSecure

在我的研究中,关于警告的信息似乎有限,在可用的指南中,我不确定我是否必须通过名称或如何修复cookie/标头的来源来识别cookie。


答案 1

我在Google Chrome Labs的github页面上发布了类似的问题后得到了回复。

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

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


答案 2

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

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

推荐