我的网站上发生了以下代码,但我尽力做到了,所以我有几个问题,请阅读。
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
。
SameSite=None
?并查看错误,什么是“安全”
这意味着SameSite=Secure
吗?
SameSite=None
和SameSite=Secure
有什么区别?
答案 0 :(得分:12)
如此处所述: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 Console SameSite Cookie Attribute Warning,您可以在其中通过chrome://flags Cookie Deprecation messages disabled
禁用它们。