自上次更新以来,我的Cookie出现错误,与SameSite属性相关。
Cookies来自第三方开发人员(Fontawesome,jQuery,Google Analytics,Google reCaptcha,Google Fonts等)。
Chrome控制台中的错误是这样的。
A cookie associated with a cross-site resource at <URL> was set without the `SameSite` attribute. A future release of Chrome will only deliver 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 <URL> and <URL>.
(index):1 A cookie associated with a cross-site resource at http://jquery.com/ was set without the `SameSite` attribute. A future release of Chrome will …Run Code Online (Sandbox Code Playgroud) 谁能通过一个很好的例子告诉我SameSite="Lax"和SameSite="Strict"之间有什么区别,因为我对这两者有点困惑?
我们的应用程序使用 cookie 来记住用户登录。我们进行的每个身份验证 API 调用,浏览器都会在 API 请求中附加服务器设置的 HTTPonly cookie 并进行身份验证。在 Mojave 发布后,这种行为似乎在 safari 中被打破了。
我阅读了 safari 和我们的服务器团队SameSite=None;Secure在设置 cookie 时添加的跨站点 cookie 安全性。即使在那之后,它仍然不起作用。
Set-Cookie: my_cookie=XXXXX; path=/; secure; HttpOnly; SameSite=None
请建议或提供来自实际找到解决方案的人的链接。
最近samesite=lax 自动添加到我的会话cookie 中!此属性只是添加到 sessionID:
"Set-Cookie ASP.NET_SessionId=zana3mklplqwewhwvika2125; path=/; HttpOnly; **SameSite=Lax**"
我的网站托管在 IIS 8.5、Windows 2012 R2 上,没有 WAF 或 UrlRewrite,我关闭了 AntiVirus (kasper)。
但在某些客户服务器上仍然存在同样的问题。
任何的想法?
编辑: 我发现这个:https : //support.microsoft.com/en-us/help/4524419/kb4524419
当 HttpCookie.SameSite 值为“无”时,ASP.NET 现在将发出 SameSite cookie 标头,以适应 Chrome 中 SameSite cookie 处理即将发生的变化。作为此更改的一部分,FormsAuth 和 SessionState cookie 也将使用 SameSite = 'Lax' 而不是先前的默认值 'None' 发出,尽管这些值可以在 web.config 中被覆盖。
如何在 web.config 中覆盖 SessionState 的相同站点 cookie?我添加了这一行,但它不适用于 SessionID cookie!
<httpCookies sameSite="Unspecified" />
编辑:我发现这个:https : //docs.microsoft.com/en-us/dotnet/api/system.web.configuration.sessionstatesection.cookiesamesite?view=netframework-4.8#System_Web_Configuration_SessionStateSection_CookieSameSite
通过 SessionState 标签的“cookieSameSite”属性为 stateserver 设置相同站点。
如何解决SameSite属性?
:1 设置了与http://doubleclick.net/上的跨站点资源关联的cookie,但未设置该SameSite属性。如果将来的Chrome浏览器版本将cookie设置为SameSite=None和,则仅会提供带有跨站点请求的cookie Secure。您可以在“应用程序”>“存储”>“ Cookies”下的开发人员工具中查看Cookie,并在https://www.chromestatus.com/feature/5088147346030592和https://www.chromestatus.com/feature/5633521622188032上查看更多详细信息。
google.com,linkedin,facebook.com,twitter.com相同。等等
无法添加“ 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.
SameSite=None?并查看错误,什么是“安全”
那是SameSite=Secure什么意思?
SameSite=None和 和有SameSite=Secure什么区别?
由于 7 月份 Chrome 中的更改,我需要修改我的应用程序以明确提供 SameSite=None 键值。这是因为 RFC 以比存在但设置为 None 更具影响力的方式处理此设置的缺失。
然而,在 set_cookie 方法中,samesite 参数默认为 None,这导致它不会被写入 set-cookie。如何强制将其放入响应的 set-cookie 部分?
当我尝试使用以下代码设置 samesite=None 时
resp.set_cookie('abcid', 'Hello', domain=request_data.domain, path='/', samesite=None, max_age=63072000)
Run Code Online (Sandbox Code Playgroud)
这不会在返回的 set-cookie 中显示任何 SameSite 详细信息
abcid=你好;域=.localhost; 到期日 = 2021 年 6 月 29 日星期二 22:34:02 GMT;最大年龄=63072000;路径=/
如果我尝试明确设置 Lax 的值(这是每个 rfc 接受的值之一)
resp.set_cookie('abcid', "Hello", domain=request_data.domain, path='/', samesite="Lax", max_age=63072000)
Run Code Online (Sandbox Code Playgroud)
我取回了明确具有 SameSite=Lax 设置的 set-cookie
abcid=你好;域=.localhost; 到期日 = 2021 年 6 月 29 日星期二 23:03:10 GMT;最大年龄=63072000;路径=/;SameSite = 松懈
我尝试过 None、"None" 和 "",但这些要么使应用程序崩溃,要么在结果响应中省略 SameSite。
任何帮助将不胜感激
是否可以在 Spring Boot 中设置Same-Site Cookie标志?
我在 Chrome 中的问题:
与http://google.com/上的跨站点资源关联的 cookie 设置为没有该
SameSite属性。未来版本的 Chrome 将仅在跨站点请求中使用SameSite=None和设置 cookie 时才传送 cookieSecure。您可以在应用程序>存储>Cookies 下的开发人员工具中查看 cookie,并在https://www.chromestatus.com/feature/5088147346030592和 https://www.chromestatus.com/feature/5633521622188032 上查看更多详细信息 。
如何解决这个问题呢?
在阅读有关SameSite属性的内容时,我遇到了这个术语top-level navigation。
据我了解,这是当用户website1.com在浏览器中打开,然后单击将浏览器导航到其他网站的链接时,例如。website2.com。但这是一个宽松的定义。
top-level navigation那么浏览器术语到底是什么?是否有一些规范或 RFC 对这个术语有严格的定义?
除了点击指向另一个网站的链接(即在<a href="website2.com">website2.com</a>website1.com 上)之外,是否可以通过其他方式触发它?如果我website2.com直接在浏览器的导航栏中输入 url ,这会被视为 吗top-level navigation?
另外,除了与 cookie 和属性top-level navigation一起使用之外,在浏览器/http/安全的其他领域也很重要吗?SameSite
Chrome 给了我以下警告:
与http://quilljs.com/上的跨站点资源关联的 cookie 设置为没有该
SameSite属性。未来版本的 Chrome 将仅在跨站点请求中使用SameSite=None和设置 cookie 时才传送 cookieSecure。
请注意,quilljs.com 是第 3 方域。
我看过这些 问题,这两个问题的答案是相似的,有些人是这样说的:
与您的代码无关。这是他们的网络服务器必须支持的东西。
而其他人提供了这样的答案:
response.setHeader("Set-Cookie", "HttpOnly;Secure;SameSite=Strict");
Run Code Online (Sandbox Code Playgroud)
我不确定这是我需要在我的网站上修复的问题,还是应该在 3rd 方库中修复的问题?
samesite ×10
cookies ×7
javascript ×3
asp.net ×1
browser ×1
cross-site ×1
flask ×1
http ×1
iis ×1
python ×1
safari ×1
setcookie ×1
spring-boot ×1