如何防止多个浏览器窗口在节点js中共享同一会话

时间:2013-12-03 07:43:07

标签: node.js session connect

有没有办法阻止多个浏览器窗口使用Connect和redis DB共享同一个会话。我已浏览了Working with Sessions in Express.js链接。但是这是用express来实现的。我希望通过连接实现类似的目标。
任何有关这方面的帮助都会非常有用。

2 个答案:

答案 0 :(得分:1)

大多数现代浏览器都有一个Cookie共享池,这就是表达通常管理会话的方式。不同的浏览器窗口只使用相同的cookie,问题在于浏览器的工作方式。

我建议使用以下两个选项之一:

  1. 使用浏览器中的隐私模式(在Chrome中隐身)获取第二个Cookie池。
  2. 使用第二个浏览器(同时安装了Firefox和Chrome)

答案 1 :(得分:0)

如果你要详细说明你想要做什么,甚至可能为什么,那将会有所帮助。通过多个浏览器窗口我假设你的意思是在同一个浏览器中。正如@Ivan Plenty所说,浏览器窗口/标签都共享cookie信息,这几乎是标准的。摆脱这种情况的唯一方法是使用每种浏览器的各种隐身模式。

也就是说,如果你想要一种专门为每个窗口创建会话或区分窗口的方法,那么你可以使用一个传递csrf标记的方案。通常这是出于安全原因使用,但您可以根据自己的需要进行定制。看看here for Connect's csrf