Javascript 为什么expressjs会在每个选项响应中发送Set Cookie头?
我观察到,我的express服务器发送一个Javascript 为什么expressjs会在每个选项响应中发送Set Cookie头?,javascript,node.js,cookies,express,passport.js,Javascript,Node.js,Cookies,Express,Passport.js,我观察到,我的express服务器发送一个Set Cookie头,以响应前端Angular.js项目发出的每个OPTIONS请求 cookie在每个选项请求上都有一个新值,但从来没有被实际存储 铬 当我使用passport.js对用户进行身份验证时,对POST请求的响应具有相同的头(同样是一个新的cookie),但这次我可以看到它被存储,并与cookie头中的后续请求一起发送 哪个express模块正在执行此操作,为什么?为什么Chrome不存储cookie呢 这比任何事情都更让人好奇,因为它不
Set Cookie
头,以响应前端Angular.js项目发出的每个OPTIONS
请求
cookie在每个选项
请求上都有一个新值,但从来没有被实际存储
铬
当我使用passport.js对用户进行身份验证时,对POST
请求的响应具有相同的头(同样是一个新的cookie),但这次我可以看到它被存储,并与cookie
头中的后续请求一起发送
哪个express模块正在执行此操作,为什么?为什么Chrome不存储cookie呢
这比任何事情都更让人好奇,因为它不会引起任何问题(只是在试图找到一个时造成了很多混乱)。很确定这是当前会话模块的一个bug。如果您正在使用新的Cookie会话,则不会遇到此问题。请随意提交一个bug:方法选项不应该有副作用。请参见HTTP 1.1 选项是向服务器请求信息。这种请求不被认为是用户和服务器之间的真正交互。服务器可能使所有用户都可以使用这些信息
浏览器尊重这一点,并根据规范选择忽略cookie。也就是说,将cookie数据公开传递给用户存在安全风险。即使它是无效的,它也会暴露服务器端的内部结构,黑客可以利用它进行攻击。你在使用cookie会话吗?@Sean-你在这里还想要什么?嗯。问了两个问题,得到了两个答案。我同意另一个,但我认为你的也对。