我可以将用户 ID 保存在 $_SESSION 变量中吗?


May I save user id inside $_SESSION variables?

从事非常大的项目并尝试创建最佳数据库使用情况。我听说不建议将用户 ID 保存在 $_SESSION 变量中。我实际上只能使用令牌,这些令牌分配给数据库中的用户 ID。问题是,如果我只使用令牌,我需要对脚本中的数据库执行 1 个额外的操作(查询)。所以问题是,我可以将用户 ID 保存在 $_SESSION 变量中以防止 ectra 数据库操作吗?它可能有多"危险"?

提前感谢。

是的,你可以。会话存储在服务器上,因此与任何其他服务器端存储一样安全。

我能看到的唯一影响是,有权访问文件系统(php 存储会话数据的地方)的人可以看到哪些用户当前登录。通常这不应该是一个大秘密 - 文件系统上还有更多有趣的东西。如果使用令牌,则有权访问文件系统的用户也需要有权访问数据库才能获取相同的信息,但通常这可以通过访问文件系统轻松实现。

也许告诉您这一点的人意味着您不应该在会话中存储密码?这当然是危险的。

或者他的意思是你不应该在cookie中保存用户ID?