如何解决`SameSite`属性

Tia*_*ago 5 html php

我看着控制台,注意到这些警告

设置了与http://google.com/上的跨站点资源关联的cookie ,但未设置SameSite属性。如果将跨站点请求的Cookie设置为SameSite = None和Secure,则将来的Chrome版本将仅提供具有跨站点请求的cookie。您可以在“应用程序”>“存储”>“ Cookies”下的开发人员工具中查看Cookie,并在https://www.chromestatus.com/feature/5088147346030592https://www.chromestatus.com/feature/5633521622188032上查看更多详细信息。

怎么解决呢?

Jos*_*all 11

一个对我有用的解决方案:

如果您使用的是 PHP,请将此行添加到开头

header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure');
Run Code Online (Sandbox Code Playgroud)


更新 这是一个有用的资源,包括 JavaScript、Node.js、PHP 和 Python 中的示例
https://github.com/GoogleChromeLabs/samesite-examples

  • 仍在继续。我将代码放在index.php 文件的开头,但错误仍然存​​在。 (4认同)

Mik*_*ndy 5

在 Google 的开发人员/管理员(以及其他外部资源的开发人员/管理员)修改他们的脚本/服务器以将必要的 cookie 设置包含到他们在您的网站包含它们时生成的 cookie 之前,您无能为力。在这里查看更多信息:

https://github.com/GoogleChromeLabs/samesite-examples/issues/4#issuecomment-548598318

如果您正在调试您的网站,您可以通过将此过滤器添加到过滤器框来暂时忽略 Chrome 开发者工具控制台中的这些条目:

-SameSite=None

例如:

Chrome 开发者工具控制台中的 -SameSite=None 过滤器示例


小智 1

您的 .htaccess 文件是否包含标头未设置 cookie 代码?你可以像cloudflare一样使用cdn及其缓存。

如果是的话,删除htaccess中的代码即可