javascript - 带有 Set-Cookie Header 的 Safari/Chrome 的开发者控制台中不显示 Cookie,但在查看服务器日志时存在
问题描述
我正在使用来自 python 后端的“Set-Cookie”标头响应为我的 Web 应用程序存储 cookie。
在 Chrome 和 Safari 的开发人员工具中,当我查找 cookie 时,cookie 没有出现。
在 Chrome 上,Set-Cookie 甚至不会出现在网络调用的响应标头中。 在 Safari 中,Set-Cookie 响应标头出现并显示在请求/响应 cookie 下, 但是当我检查应用程序的 cookie 时,什么也没有显示。
此外,Safari 中显示的 cookie 数据不正确:它显示了不正确的过期日期和 httpOnly/secure 两者都应该是正确的。
cookie 似乎不存在,但是当我登录服务器时,我清楚地看到 cookie 存在并且它们出现 (野生动物园也显示它们在请求/响应标头中来回显示)这意味着 cookie 被正确存储并且在标头中的每次调用后发送回服务器。我之前尝试将 httpOnly 设置为 false 并将 secure 设置为 false,但即便如此,cookie 也表现出相同的行为。
这些 cookie 仍处于两种开发人员工具的雷达之下。如何在开发者工具中正确查看浏览器上的 cookie?这个问题可能是什么?
解决方案
您是否尝试过打开服务器 https://*.amazonaws.com 的选项卡并在那里检查?
cookie 将设置在服务器的域上,但您不会在本地服务器的 cookie 存储中看到它。原因是所有网络存储都受同源策略绑定,您的文档只能从自己的域访问存储,服务器只能为其域设置 cookie。
这里的理由是,如果我向您发送了一个流氓文档的链接,即使它们可以从 JS 访问,它也无法泄露您的 SO cookie,向流氓服务器发送请求也不能覆盖 SO 上的 cookie。
推荐阅读
- reactjs - 在不同服务器上的 ReactJS 和 WIX Web 应用程序之间共享会话
- jquery - jquery sortable div拖放文本不能被ckeditor编辑
- ios - ios Swift 4 安装 PromiseKit json 解析错误
- android - 如何通过单击选项卡更改操作栏菜单按钮
- r - 使用 opencpu 将 .Rmd 文件编译为 .pdf 时出错
- python - 字典键的地址,值如何存储在 Python 中?
- r - 在 R 中加速拆分和合并数据帧行
- javascript - 如何在映射和检查条件后将新对象添加到数组中
- oracle - oracle 触发器精确提取返回超过请求的行数
- .net - 如何为字符串 [] 分配起始索引值