从事非常大的项目并尝试创建最佳的数据库使用率。我听说不建议将用户 ID 保存在 $_SESSION 变量中。我实际上只能使用令牌,这个令牌被分配给数据库中的用户 ID。问题是,如果我只使用令牌,我需要对脚本内的数据库执行 1 次额外操作(查询)。所以问题是,我可以将用户 ID 保存在 $_SESSION 变量中以防止 ectra 数据库操作吗?它可能有多“危险”?
提前谢谢。
是的你可以。会话存储在服务器上,因此与任何其他服务器端存储一样安全。
我能看到的唯一影响是,有权访问文件系统(php 存储会话数据的地方)的人可以看到当前登录的用户。通常这不应该是一个大秘密 - 有更多有趣的东西在文件系统。如果您使用令牌,则有权访问文件系统的用户也需要有权访问数据库才能获得相同的信息,但通常这通过访问文件系统很容易实现。
也许告诉你这个的人意味着你不应该在 Session 中存储密码?那当然是危险的。
或者他的意思是你不应该在 cookie 中保存用户 ID?