修复不工作:与 cross-site 资源关联的 cookie 设置时没有 `SameSite` 属性
Fix Not Working: A cookie associated with a cross-site resource was set without the `SameSite` attribute
我为我的公司维护一个旧 ASP 网站。
我们有两个不同的域,A 和 B。域 B 出现在 iFrame 中,我们一直收到 SameSite 警告。
解决方案似乎涉及将 "SameSite=None; Secure" 添加到 header。
我添加了这些值,它们显示在 Chrome 开发工具中:
尽管有变化:
- 警告仍然出现。
- 启用后,SameSite 实验性功能仍会阻止主机站点上的 cookie。
有人知道我这里可能做错了什么吗?
您所显示的是两个 cookie,一个具有 session id,另一个名称为 SameSite。这些都没有任何 SameSite 属性(因此 SameSite 列下的空白 space)。
您不应该为 SameSite=None 设置单独的 cookie。 SameSite 是一个 cookie 属性,意味着附加到它所指的 cookie。
你的使用方式是这样的:
Set-Cookie: sessionid=12345; SameSite=None; Secure
。请注意,这是单个 Set-Cookie header。如果您使用两个单独的 Set-Cookie 行,浏览器会将其解释为两个单独的 cookie,这不是您想要的。
我为我的公司维护一个旧 ASP 网站。
我们有两个不同的域,A 和 B。域 B 出现在 iFrame 中,我们一直收到 SameSite 警告。
解决方案似乎涉及将 "SameSite=None; Secure" 添加到 header。
我添加了这些值,它们显示在 Chrome 开发工具中:
尽管有变化:
- 警告仍然出现。
- 启用后,SameSite 实验性功能仍会阻止主机站点上的 cookie。
有人知道我这里可能做错了什么吗?
您所显示的是两个 cookie,一个具有 session id,另一个名称为 SameSite。这些都没有任何 SameSite 属性(因此 SameSite 列下的空白 space)。
您不应该为 SameSite=None 设置单独的 cookie。 SameSite 是一个 cookie 属性,意味着附加到它所指的 cookie。
你的使用方式是这样的:
Set-Cookie: sessionid=12345; SameSite=None; Secure
。请注意,这是单个 Set-Cookie header。如果您使用两个单独的 Set-Cookie 行,浏览器会将其解释为两个单独的 cookie,这不是您想要的。