1

我使用 2 台使用 ebs 的机器来为我的网站提供服务。它用 express.js 编写,有 2 个节点服务器正在运行。我使用快速会话创建会话并将其存储在 redis 中。

两台机器是否有可能最终创建相同的会话ID?

4

1 回答 1

0

在后台,express-session用于uid-safe生成会话 ID,如果可用,则应使用该会话 ID。 crypto.randomBytes

这应该保证 UID 基于足够安全以用于密码学的数据,这意味着它在大多数情况下应该是完全不可预测和不可重现的。我会启动一个node流程并确认它crypto.randomBytes可用。

如果您想跟踪哪个进程创建了会话 ID,您可以另外使用一些crpyto方法,这些方法使您能够使用每个正在运行的进程唯一的盐/令牌对生成的 UID 进行进一步编码。

您可能希望在Cryptography SESecurity SE上进一步讨论这一点,以获取专家同行的详细信息,但是,就您而言,使用默认会话 ID 生成器应该是安全的express-session,而不仅仅是进程正在运行在不同的机器上,但即使对于在同一环境中运行的进程也是如此。

于 2015-04-16T08:21:19.213 回答