PHP:存储登录用户

Osk*_*son 3 php database security userid

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

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

用户是否可以更改$_SESSION[]数据并伪装成另一个用户?

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

Tec*_*hie 5

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

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