SameSite=None w/ IE11 中的 Secure Breaking iFrame
SameSite=None w/ Secure Breaking iFrame in IE11
随着最近的更改,SameSite cookie 属性似乎正在对我的网站造成影响。之前在我的站点上运行的 cross-browser iframe 现在已损坏 - 即使使用 SameSite=None;在响应 header.
中安全地通过 iFrame 传递
我看到来自人们的非常不同的报告说 Windows 7 不支持 SameSite=none。其他人说 Secure 正在破坏或没有破坏它。但即使是当前的 Microsoft 文档也没有明确说明 Win7 IE11 应该如何响应 SameSite=None.
目前,我正在寻找可以提供帮助的任何人的一些提示或技巧。我已经做了我能想到的一切。这以前有效,现在突然阻止了 iFrame 并抛出 500 错误。 set-cookie 的顺序会导致这个吗?
通过一些浏览器测试,我发现了以下内容:
Windows 10 - IE11 损坏,Edge 损坏,Edge(测试版)有效
Windows 8.1 - IE11 有效,边缘(测试版)有效
Windows 8 - IE11 损坏,Edge(测试版)有效
Windows 7 - IE11 损坏,无边缘
Set-Cookie 响应 header:
Set-Cookie MySitePersistence=436457226.47873.0000; path=/; httponly; secure; SameSite=none; Secure
我尝试使用
直接将 IE 作为重写前提条件
<add input="{RESPONSE_Set_Cookie}" pattern="." />
<add input="{RESPONSE_Set_Cookie}" pattern="; SameSite=none" negate="true" />
<add input="{HTTP_USER_AGENT}" pattern="^.*MSIE ([0-9]{1,}[\.0-9]{0,})*.*$" negate="true" />
<add input="{HTTP_USER_AGENT}" pattern="^.*Trident/.*rv:([0-9]{1,}[\.0-9]{0,})*.*$" negate="true" />
出现此问题是因为 Asp.NET_SessionID cookie 因 cookie 的新更改而未始终发送,并且 cookie 现在具有 SameSite=Lax 属性。
您可以将会话 cookie 的 SameSite 属性 设置为 “None”,方法是将其添加到 web.config:
<system.web>
<sessionState cookieSameSite="None" />
</system.web>
这与出站规则 (SameSite=None; Secure) 一起工作。你可以参考.
更多信息参考:
(1) SameSite in code for your ASP.net applications
(2) SameSite=Lax in the new world
(3) SameSite cookie updates in ASP.net, or how the .Net Framework from December changed my cookie usage
随着最近的更改,SameSite cookie 属性似乎正在对我的网站造成影响。之前在我的站点上运行的 cross-browser iframe 现在已损坏 - 即使使用 SameSite=None;在响应 header.
中安全地通过 iFrame 传递我看到来自人们的非常不同的报告说 Windows 7 不支持 SameSite=none。其他人说 Secure 正在破坏或没有破坏它。但即使是当前的 Microsoft 文档也没有明确说明 Win7 IE11 应该如何响应 SameSite=None.
目前,我正在寻找可以提供帮助的任何人的一些提示或技巧。我已经做了我能想到的一切。这以前有效,现在突然阻止了 iFrame 并抛出 500 错误。 set-cookie 的顺序会导致这个吗?
通过一些浏览器测试,我发现了以下内容:
Set-Cookie 响应 header:
Set-Cookie MySitePersistence=436457226.47873.0000; path=/; httponly; secure; SameSite=none; Secure
我尝试使用
直接将 IE 作为重写前提条件
<add input="{RESPONSE_Set_Cookie}" pattern="." />
<add input="{RESPONSE_Set_Cookie}" pattern="; SameSite=none" negate="true" />
<add input="{HTTP_USER_AGENT}" pattern="^.*MSIE ([0-9]{1,}[\.0-9]{0,})*.*$" negate="true" />
<add input="{HTTP_USER_AGENT}" pattern="^.*Trident/.*rv:([0-9]{1,}[\.0-9]{0,})*.*$" negate="true" />
出现此问题是因为 Asp.NET_SessionID cookie 因 cookie 的新更改而未始终发送,并且 cookie 现在具有 SameSite=Lax 属性。
您可以将会话 cookie 的 SameSite 属性 设置为 “None”,方法是将其添加到 web.config:
<system.web>
<sessionState cookieSameSite="None" />
</system.web>
这与出站规则 (SameSite=None; Secure) 一起工作。你可以参考
更多信息参考:
(1) SameSite in code for your ASP.net applications
(2) SameSite=Lax in the new world
(3) SameSite cookie updates in ASP.net, or how the .Net Framework from December changed my cookie usage