javascript - 带有 Set-Cookie Header 的 Safari/Chrome 的开发者控制台中不显示 Cookie,但在查看服务器日志时存在

标签 javascript ajax cookies google-chrome-devtools safari-web-inspector

我正在使用来自 python 后端的“Set-Cookie” header 响应为我的 Web 应用程序存储 cookie。

enter image description here

这是我在客户端对函数的 ajax 调用:
enter image description here

在 Chrome 和 Safari 的开发人员工具中,当我查找 cookie 时,cookie 没有出现。

在 Chrome 上,Set-Cookie 甚至不会出现在网络调用的响应 header 中。
enter image description here
enter image description here
在 Safari 中,Set-Cookie 响应 header 出现并显示在请求/响应 cookie 下,
enter image description here
enter image description here
但是当我检查应用程序的 cookie 时,什么也没有出现。
enter image description here

此外,Safari 中显示的 cookie 数据不正确:它显示了不正确的过期日期和 httpOnly/secure 两者都应该是正确的。

cookie 似乎不存在,但是当我登录服务器时,我清楚地看到 cookie 存在并且它们出现
enter image description here
(也 safari 显示它们在请求/响应 header 中来回移动)这意味着 cookie 被正确存储并在 header 中的每次调用后发送回服务器。我之前尝试将 httpOnly 设置为 false 并将 secure 设置为 false,但即便如此,cookie 也表现出相同的行为。

这些 cookie 仍处于两种开发人员工具的雷达之下。如何在开发者工具中正确查看浏览器上的 cookie?这个问题可能是什么?

最佳答案

您是否尝试过打开服务器 https://*.amazonaws.com 的选项卡并在那里检查?
cookie 将设置在服务器的域上,但您不会在本地服务器的 cookie 存储中看到它。原因是所有网络存储都受同源策略绑定(bind),您的文档只能从自己的域访问存储,服务器只能为其域设置 cookie。
这里的理由是,如果我向您发送了一个流氓文档的链接,即使它们可以从 JS 访问,它也无法泄露您的 SO cookie,向流氓服务器发送请求也不能覆盖 SO 上的 cookie。

关于javascript - 带有 Set-Cookie Header 的 Safari/Chrome 的开发者控制台中不显示 Cookie,但在查看服务器日志时存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53495230/

相关文章:

javascript - 等待多个ajax结果的好模式?

javascript - 使用 AJAX 和 JavaScript 在点击时显示模式

PHP+Cookies : Show message once only

javascript - 如何将方括号内的数字与正则表达式匹配

javascript - Moment.js - 获取两个生日的年、月、日差异

javascript - Ajax .done() 未检测到 form.submit

java - 在 HTTPServlet doPost() 中将 maxage(0) 设置为 cookie 并且重定向不起作用

c# - HttpWebResponse Cookie 未设置重定向

javascript - Bootstrap JS 脚本不工作

javascript - angularjs 表单验证语法错误 token 意外 '{'