PHP:存储登录用户

时间:2013-01-08 15:04:25

标签: php database security userid

当用户登录网站时,我需要以某种方式存储登录的用户ID,以便我的网站可以为不同的用户生成不同的内容。

将用户的ID保存在$_SESSION[]变量中是否安全?

用户是否可以更改$_SESSION[]数据并伪装成其他用户?

我使用id来检查我应该从数据库中获取哪些数据,以及查看用户拥有的权限。

1 个答案:

答案 0 :(得分:5)

最佳和公认的做法是在会话中保存用户ID。

会话默认存储在/tmp中作为文件。除非您遇到directory traversal漏洞等安全问题,否则最终用户无法查看。大多数应用程序使用$_SESSION。如果存在广泛的弱点,那么主要项目将以不同的方式做事。您不必担心通过客户端漏洞获取服务器端会话值。还要记住使用会话的简单性。它使数据访问您需要在整个应用程序中持续,标准和一致地访问的用户特定数据。