当用户登录网站时,我需要以某种方式存储登录的用户ID,以便我的网站可以为不同的用户生成不同的内容。
将用户的ID保存在$_SESSION[]
变量中是否安全?
用户是否可以更改$_SESSION[]
数据并伪装成其他用户?
我使用id来检查我应该从数据库中获取哪些数据,以及查看用户拥有的权限。
答案 0 :(得分:5)
最佳和公认的做法是在会话中保存用户ID。
会话默认存储在/tmp
中作为文件。除非您遇到directory traversal漏洞等安全问题,否则最终用户无法查看。大多数应用程序使用$_SESSION
。如果存在广泛的弱点,那么主要项目将以不同的方式做事。您不必担心通过客户端漏洞获取服务器端会话值。还要记住使用会话的简单性。它使数据访问您需要在整个应用程序中持续,标准和一致地访问的用户特定数据。