如何解决无法识别的属性“ sameSite”请注意,对于Chrome 80+版本,属性名称区分大小写
我有一个应用程序runnig,其中的内容在iframe中打开,这被视为跨站点方案。
我知道最新的chrome 80+版本更新,其中所有cookie均默认设置为 SameSite = Lax 。我的应用程序在旧版chrome上正常运行,并在web.config文件中添加了以下标记
<httpCookies requireSSL="true" sameSite="None"/>
现在添加了此标签后,出现错误“无法识别的属性'sameSite'。请注意,属性名称区分大小写” 。 没有标签,我的应用程序就会加载,但是由于它在iframe中打开,因此无法浏览内容。
根据博客here,要求我添加SameSite = None;保护标签,但添加标签本身会出错。我有什么遗漏吗?
作为一种解决方法,默认情况下,我已从标志 chrome:// flags /#same-site-by-default-cookies 中禁用了SameSite Cookie,现在看来工作正常。 有没有一种方法可以通过在web.config中添加标签而不是显式进行客户端更改来实现。为什么我的sameSite属性会出现无法识别的错误?
解决方法
经过大量研究找到了一种从代码隐藏中做到这一点的方法
HttpCookie Cookie = new HttpCookie("Cookie")
{
Value = "value to be stored,Secure = true,HttpOnly = true
};
这会将 cookie 添加到上下文中,http 和安全标志为 true。
该问题是由于在最近的 chrome 更新后,同一个站点在默认情况下被指定为“Lax”。由于我的网站是在 iframe 中打开的,因此由于跨站点请求,cookie 没有被传递。将其更改为 none 解决了问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。