在 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 编码的会话数据可以很容易地查看。因此,您的客户不应该看到的任何内容都不应包含在此处
我在网上找到很多文章解释说 Flask 会话是 安全的 而不是 加密的 。
这意味着用户可以对 cookie 进行 Base64 解码并读取其中的值。
如果我的应用程序在用户成功登录后使用此会话 cookie 中的用户 ID 值对用户进行身份验证,这会是一个问题吗?
如果我理解正确,用户将无法将他的 cookie 值更改为另一个用户的 ID,因为它由服务器端的应用程序私钥签名。对吗?
如果是这样,使用 Flask 基于 cookie 的会话的 secured 内容允许用户访问应用程序的受保护视图是否存在任何问题?
总结评论中给出的答案:
- Cookie 可以被篡改,但是如果启用了 Flask 会话安全,这样被篡改的会话将 thrown away,强制客户端重新登录
- cookie 中 Base64 编码的会话数据可以很容易地查看。因此,您的客户不应该看到的任何内容都不应包含在此处