internet-explorer-11 - IE 11 不接受 SameSite cookie
问题描述
我知道这是互联网上的一个大话题,但到目前为止我找不到任何可行的解决方案。
我的一些客户通过 iframe 集成了我的网站。在 Firefox/Chromium 中,在我将SameSite
属性设置为None
并添加Secure
到它之后,一切正常。
现在世界上还有一个 IE11,我不知道该怎么做才能让它成为我的 cookie,所以 IE11 接受它们。
这是 IE11 得到的:
Set-Cookie: JSESSIONID=CFA2E0643F0CA81B68B4A984D7FC429D; Path=/; Secure; HttpOnly;SameSite=None;Secure
Set-Cookie: JSESSIONID=CFA2E0643F0CA81B68B4A984D7FC429D; Expires=Mon, 05-Oct-2020 15:19:46 GMT; Path=/; Secure; HttpOnly;SameSite=None;Secure
Set-Cookie: my-cart=f5e5dcea-8d9e-33a6-b228-9e7e6dc04f4a; Expires=Wed, 03-Mar-2032 06:19:46 GMT; Path=/; Secure; HttpOnly;SameSite=None;Secure
Set-Cookie: sessionExpiry=; Max-Age=3605; Expires=Mon, 05-Oct-2020 15:19:51 GMT; Path=/; Secure;SameSite=None;Secure
Set-Cookie: anonymous-consents=%5B%5D; Max-Age=31536000; Expires=Tue, 05-Oct-2021 14:19:46 GMT; Path=/;SameSite=None;Secure
Set-Cookie: cookie-notification=NOT_ACCEPTED; Max-Age=360000000; Expires=Wed, 03-Mar-2032 06:19:46 GMT; Path=/; Secure;SameSite=None;Secure
如您所见,路径以/
. 如果需要并且时间正确,则设置 Expires。
还有什么我错过的吗?
解决方案
当您使用 Windows Server 2012 时,问题的根本原因是 SameSite cookie 仅在 Windows 10 RS3(2017 秋季创意者更新)和更高版本的 IE 11 中受支持。所以它在你的机器上不起作用。
更多信息参考:
(1)caniuse网站
(2) SameSite 浏览器兼容性
为了让跨域 cookie 可以在 IE 上运行,我发现了一些类似的线程:link1、link2,它们都指向使用P3P 策略。有关如何使用 P3P 策略的详细信息,您可以参考此答案。
推荐阅读
- r - 使用两个列表中的公共信息创建矩阵
- python - 根据条件替换熊猫数据框列中的数据,如果条件不满足则跳过
- python-3.x - 如何在 google colab 中下载 .CSV 中列出的所有 URL 图片内容?
- quarkus - Quarkus 入门项目无法生成原生镜像
- python - 处理缺失值(条件插补) Pandas
- html - 如何使图片正常缩放?
- r - 使用向量的值作为 flexdashboards 的输入
- python - 正则表达式提取与给定模式中的位置匹配的子字符串
- javascript - 如何使用javascript读取目录中的最新文件?
- json - 如何使用 AngularJS 和 JsonResult ASP.NET MVC 使用 ng-repeat 列出值