【问题标题】:express-session: i don't understand why it can be secureexpress-session:我不明白为什么它可以是安全的
【发布时间】:2021-06-20 13:48:20
【问题描述】:

好的,我看到了这个例子,就像 cookie 被加密了一样。

var app = express()
app.set('trust proxy', 1) // trust first proxy
app.use(session({
  secret: 'keyboard cat',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: true }
}))

这是我的问题,假设 A 和 B 坐在一起,B 复制 A 的请求,其中包括会话信息(加密的 cookie)并放入他的请求。是的,B 无法解密 cookie,但那又如何呢? 从服务器端,它检查会话信息,它对 A 和 B 使用相同的秘密。所以请求通过了。

那么从安全的角度来看,这个会话如何比 cookie 更有用?

【问题讨论】:

  • 如果b期间的时间正在发送请求(A的请求)并且在这期间A关闭其浏览器,那么该会话将变得无效
  • 如果您希望会话 cookie 免受网络窥探攻击,您必须通过 https 运行所有这些。因此,即使 A 坐在 B 旁边,那么 B 也无法获取 A 的 cookie,除非他们可以物理访问 A 的计算机存储并且可以从硬盘驱动器中窃取他们的 cookie,因为他们将无法从网络中窃取它们,因为https 保护。
  • @jfriend00 如果运行 https,如果黑客无法窥探,那么常规 cookie 是否与 session 一样安全?
  • 服务器端会话将实际会话数据存储在服务器上 - 会话 cookie 仅允许服务器代表您访问该数据。这就是使它有用且更安全的原因。是的,如果您想将所有数据放入 cookie 本身,您可以使用常规 cookie,但这几乎没有那么灵活或强大。将持久存储添加到您的会话中,它现在成为持久的用户数据,甚至可以跨设备跟踪您,而 cookie 无法做到。
  • @jfriend00 我知道会话数据在服务器端并且很有用,但是 ppl 仍然可以从客户端窃取会话 ID(假设使用 http),那么从安全的角度来看这有什么不同呢?

标签: node.js express express-session


【解决方案1】:

express-session:我不明白为什么它可以是安全的

如果您使用 https 运行并且您的物理计算机对外界是安全的,那么您的 express session cookie 在本地存储时受到保护,在传输到服务器时受到保护(通过 https)。

因此,只要会话 cookie 受到保护,不会被盗,那么只有拥有该会话 cookie 的计算机才能访问存储在服务器上的快速会话数据。

常规 cookie 也是如此(他们也需要 https 来保证安全),但与会话 cookie 的区别在于它不包含任何实际数据。它仅包含一个加密的 ID,服务器使用该 ID 来识别与该用户对应的会话对象。然后,会话数据仅在服务器本身上可用,这进一步使其免受某些类型的攻击。

这是我的问题,假设 A 和 B 坐在一起,B 复制 A 的请求,其中包括会话信息(加密的 cookie)并放入他的请求。

如果 B 可以看到 A 的 cookie,因为 A 没有使用 https 并且 B 可以访问 A 的网络,那么没有什么是安全的。您需要对普通 cookie 或会话 cookie 使用 https 以获得任何体面的安全级别。事实上,如果 B 可以看到网络上的整个交易,即使 A 登录也可能是不安全的。

那么从安全的角度来看,这个会话如何比 cookie 更有用?

如果您通过 http 运行它们,它们都不安全。如果您在 https 上运行它们,两者都是安全的。但是,会话具有将实际会话状态存储在普通 cookie 中的各种功能,例如跨多个设备维护会话的能力(当会话存储被持久化并重新附加到来自任何设备的用户的任何登录时) ),以提供更大和更丰富状态的会话存储(远远超出普通 cookie 中可以存储的状态)等...服务器端会话更灵活、更强大——这也是它们受欢迎的原因之一。

【讨论】:

    猜你喜欢
    • 2011-06-26
    • 2020-01-05
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 2019-04-21
    • 2021-07-11
    相关资源
    最近更新 更多