在哪里添加`SameSite=None`?

Cha*_*ner 18 google-chrome samesite

我在我的网站上得到了以下代码,我尽力了,无法理解这一点,所以我有几个问题,请阅读。

category-search-Forum:1 A cookie associated with a cross-site resource at https://www.google.com/ was set without the `SameSite` attribute. It has been blocked, as Chrome now only delivers cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.

我在堆栈和其他在线地方看到很多人谈论这个,但没有人确切解释如何添加SameSite=None.

1 问题:你如何或在哪里添加SameSite=None

并查看错误,什么是“安全”

那是SameSite=Secure什么意思?

SameSite=None和 和有SameSite=Secure什么区别?

Mun*_*der 22

如此处所讨论:https : //blog.chromium.org/2019/10/developers-get-ready-for-new.html

这实际上是服务器端问题。它的意思是,您正在使用来自另一个站点的资源(通常是 JS 或 CSS),并且该服务器正在尝试设置 cookie;但是,它没有SameSite设置属性。

这样做是由于:

如今,如果 cookie 仅打算在第一方上下文中访问,则开发人员可以选择应用两种设置(SameSite=Lax 或 SameSite=Strict)之一来防止外部访问。但是,很少有开发人员遵循此推荐做法,从而使大量同站 cookie 不必要地暴露在跨站点请求伪造攻击等威胁之下。

为了保护更多的网站及其用户,新的默认安全模型假定所有 cookie 都应受到保护,以防止外部访问,除非另有说明。开发人员必须使用新的 cookie 设置 SameSite=None 来指定跨站点访问的 cookie。当存在 SameSite=None 属性时,必须使用额外的 Secure 属性,以便只能通过 HTTPS 连接访问跨站点 cookie。这不会减轻与跨站点访问相关的所有风险,但会提供针对网络攻击的保护。

除了直接的安全优势之外,跨站点 cookie 的明确声明可以实现更大的透明度和用户选择。例如,浏览器可以为用户提供细粒度的控制来管理仅由单个站点访问的 cookie,与跨多个站点访问的 cookie 分开。

由于您的帖子没有定义您是在服务器端还是客户端工作,我的假设是您在客户端工作,因此,由于该资源需要更新它,因此您无能为力。但是,如果您正在进行服务器端开发,这里是不同语言的资源列表:https : //github.com/GoogleChromeLabs/samesite-examples

TLDR;如果您是客户端开发人员,那么这是因为链接资源没有此设置,您对此无能为力。如果您是服务器端开发人员,请查看 github 链接以获取有关如何为您的站点修复此问题的示例。

编辑:如果您只是想摆脱该消息,这里讨论了解决方案: Chrome 控制台 SameSite Cookie 属性警告 ,您可以通过chrome://flags Cookie Deprecation messages disabled.