我使用2台机器使用ebs来服务我的网站。它用express.js编写,有2个节点服务器在运行。我使用快速会话创建会话并将其存储在redis中。
2台机器是否有可能最终创建相同的会话ID?
答案 0 :(得分:0)
在幕后,express-session
使用uid-safe
生成会话ID,如果可用,则会should use crypto.randomBytes
。
这应该保证UID基于足够安全的数据以用于加密,这意味着它在大多数情况下应该完全不可预测且不可再现。我会启动node
进程并确认crypto.randomBytes
可用。
如果要跟踪哪个进程创建了会话ID,您还可以使用一些crpyto
方法,这些方法可以让您使用对每个正在运行的进程唯一的salt / tokns进一步编码生成的UID。
您可能希望在Cryptography SE或Security SE上进一步讨论专家同行的细节,但就您所关注的问题而言,使用默认会话应该是安全的express-session
中的ID生成器,不仅适用于在不同计算机上运行的进程,甚至适用于在相同环境中运行的进程。