mba*_*eth 3 cookies firefox xmlhttprequest
我在跨站点 JavaScript 请求和发送 cookie 方面遇到了新问题,但仅限于 Firefox。
我有这个代码
$.ajax({
type: "POST",
url: "https://server.com/page",
data: $('#formdata').serialize(),
xhrFields: {
withCredentials: true
},
success: function(html){
alert("Thank you for your submission")
},
crossDomain: true
});
}
Run Code Online (Sandbox Code Playgroud)
(上下文:这是 CSRF 攻击如何工作的示例)
https://server.com/page依赖于要发送的会话 ID cookie。cookie 已设置,SameSite设置为None并Secure包含标志。myserver.com 已设置Access-Control-Allow-Origin包含发出此请求的站点。它也有
Access-Control-Allow-Credentials: true
Run Code Online (Sandbox Code Playgroud)
但是,在 Firefox 中,不会发送会话 ID cookie。我确信在我最近一次 Firefox 升级之前它曾经是这样的。我检查了另一个选项卡,cookie 就在那里,并且确实有正确的设置。
它可以在 Chrome 中运行,也可以在 Safari 中运行。
有谁知道 Firefox 最近是否改变了政策?有我可以配置的设置吗?
我的 Firefox 版本是 104.0.2(64 位),在 Mac(蒙特雷)上运行。
没关系,我找到了。Firefox 的Total Cookie Protection可以阻止几乎所有跨站点 cookie 发送。可以说是一件好事,但如果您像我一样确实想要启用跨站点 cookie,请转到Firefox 中的“设置”和“隐私与安全”。在“增强跟踪保护”下,单击“自定义”并取消选中“Cookie”。
| 归档时间: |
|
| 查看次数: |
1499 次 |
| 最近记录: |