在 Flask 会话中存储用户 ID 是否安全?

Is it safe to store User ID within the Flask session?

我在网上找到很多文章解释说 Flask 会话是 安全的 而不是 加密的

这意味着用户可以对 cookie 进行 Base64 解码并读取其中的值。

如果我的应用程序在用户成功登录后使用此会话 cookie 中的用户 ID 值对用户进行身份验证,这会是一个问题吗?

如果我理解正确,用户将无法将他的 cookie 值更改为另一个用户的 ID,因为它由服务器端的应用程序私钥签名。对吗?

如果是这样,使用 Flask 基于 cookie 的会话的 secured 内容允许用户访问应用程序的受保护视图是否存在任何问题?

总结评论中给出的答案:

  • Cookie 可以被篡改,但是如果启用了 Flask 会话安全,这样被篡改的会话将 thrown away,强制客户端重新登录
  • cookie 中 Base64 编码的会话数据可以很容易地查看。因此,您的客户不应该看到的任何内容都不应包含在此处