我发现我的快速服务器发送Set-Cookie
标头以响应我的前端Angular.js项目发出的每个OPTIONS
请求。
Cookie在每个OPTIONS
请求中都有一个新值,但实际上从未存储过
铬。
当我使用passport.js对用户进行身份验证时,对POST
请求的响应具有相同的标头(再次使用新的cookie),但这次我可以看到它已存储,并随之发送Cookie
标题中的后续请求。
哪个快递模块正在这样做,为什么?为什么Chrome不存储Cookie?
这比任何事情都更好奇,因为它没有造成任何问题(只是在试图追踪一个问题时引起了很多混乱)。
答案 0 :(得分:2)
OPTIONS方法不应该有副作用。请参阅此HTTP 1.1 documentation
OPTIONS是对服务器的信息请求。这种请求不被视为用户和服务器之间的真实交互。服务器可能会向所有用户提供信息。
浏览器尊重这一点并选择忽略cookie,符合规范。这表示将cookie数据公开传递给用户存在安全风险。即使它无效,它也可以揭示服务器端内部,这可以让黑客利用它。
答案 1 :(得分:1)
非常确定这是当前会话模块的错误。如果您正在使用新的Cookie会话,那么您就不会遇到此问题。随意提交错误:https://github.com/expressjs/session