如何解决`SameSite`属性

时间:2019-10-03 01:03:23

标签: php html

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

  

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

如何解决?

3 个答案:

答案 0 :(得分:3)

对我有用的解决方案:

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

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


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

答案 1 :(得分:1)

您的.htaccess文件是否包含标头未设置的Cookie代码?然后使用cdn及其缓存(例如cloudflare)。

如果是这样,只需删除htaccess中的代码

答案 2 :(得分:0)

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

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

如果您要调试网站,则可以通过在过滤器框中添加以下过滤器来暂时忽略Chrome开发人员工具控制台中的那些条目:

-SameSite=None

例如:

Example of -SameSite=None filter in Chrome's developer tools console