最近samesite=lax自动添加到我的会话cookie!这个属性只是添加到sessionID:"Set-Cookie ASP.NET_SessionId=zana3mklplqwewhwvika2125; path=/; HttpOnly; **SameSite=Lax**"
我的网站托管在IIS 8.5,Windows 2012 R2上,没有WAF或UrlRewrite,我关闭了防病毒(kasper)。
但是在一些客户服务器上仍然存在相同的问题。
知道吗?
**编辑:**我找到这个:https://support.microsoft.com/en-us/help/4524419/kb4524419
现在,当HttpCookie.SameSite值为“None”时,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://learn.microsoft.com/en-us/dotnet/api/system.web.configuration.sessionstatesection.cookiesamesite?view=netframework-4.8#System_Web_Configuration_SessionStateSection_CookieSameSite
通过SessionState标记的“cookieSameSite”属性为stateserver设置同一站点。
8条答案
按热度按时间r7xajy2e1#
将这些选项添加到web.config中,设置sameSite=None、Lax或Strict
字符串
zvms9eto2#
CookieSameSite属性在很多老框架中是不可用的。如果你的环境不支持接受的答案,请继续阅读!
我修改了几个SO答案,提出了这个URL重写,将
SameSite=None
添加到会话cookie中,并从大多数不兼容的浏览器的 * 所有 * cookie中删除SameSite=None
。这个重写的目的是保留Chrome 80之前的“传统”行为。在我的Coder Frontline blog中的完整文章:
字符串
这应该适用于大多数ASP.NET和ASP.NET Core应用程序,尽管较新的Framework有适当的代码和配置选项让您控制此行为。我建议您在使用我上面的重写之前研究所有可用的选项。
x8goxv8g3#
我不能使用重写,因为UrlRewrite没有安装在我所有的客户服务器上。
最后,我将cookieSameSite添加到我的web.config中:
字符串
t40tm48m4#
最后更新:zemien's answer比我的更全面和完整。因为它基于用户代理设置cookie。
我的回答:
你可以用SameSite=None替换Web.config中ASP.NET_SessionId的SameSite=Lax,方法如下:
字符串
**更新:**要防止IOS problem,请替换
型
与
型
bmp9r5qi5#
@zemien您的解决方案正确地解决了我们的谷歌Chrome问题
我们有一个集成,其中我们的应用程序嵌入在第三方的iframe中。2020年2月4日发布的Chrome版本80阻止了cookie加载。
然而,我不得不修改模式以捕获所有cookie,添加Secure标志,并在本地非https环境中不应用本地主机上的重写
字符串
fjnneemd6#
对我有用。添加到我的web.config文件中:
字符串
升级到.NET Framework 4.8 +安装修补程序:2019-12.NET Framework 3.5和4.8累积更新Windows 10版本1909 x64(KB 4533002)
3qpi33ja7#
4台机器与谷歌Chrome一个不会与cookie跨网站上的asp. Folow H. J.货车德Wijk信息为web.config
字符串
还是不行,得换
型
为
型
一切正常
谢谢
cigdeys38#
将这些选项添加到web.config中,设置sameSite=None、Lax或Strict
字符串
自.Net Framework 4.7.2起支持此功能。
Docs on sessionState cookieSameSite
在httpCookies sameSite上搜索
SameSite=None
需要Secure
(requireSSL="true"
)。Lax
和Strict
不需要。sessionState
没有requireSSL
,使用httpCookies
的属性。Good article with explanation of SameSite in Google Chrome . Chrome自80版起阻止iframe中的第三方Cookie。