存储会话以在成员区域中使用

时间:2011-10-20 19:11:34

标签: php session login

我为我的会员区创建了一个注册/登录系统。一旦用户登录,我想存储一个会话变量,我可以用它从数据库中检索与用户相关的数据。

我应该以任何方式加密变量吗?我想要作为变量的数据将是用户名还是id,哪个最好?

会话ID是否应该以任何方式重新生成?

4 个答案:

答案 0 :(得分:1)

会话中的数据存储被认为是“安全的”,因此您不需要加密 - 解密它。

答案 1 :(得分:0)

会话ID在客户端的计算机上像cookie一样存储,并在每次请求时传递回服务器。这就是PHP在收到请求后确定要加载到会话中的信息的方式。

由于会话在服务器上而不在客户端上,因此您只需担心session hijacking存储在其中的信息是否安全。你的问题的答案是否定的,我不会尝试加密会话中存储的信息。

答案 2 :(得分:0)

成功登录/注销后,您应该重新生成会话ID。出于安全原因,如果他想要执行关键操作(例如更改重要数据,删除帐户或提交订单),我会建议用户提供密码。

正如AurimasL所说,您不必担心服务器端的会话数据。如果你在共享主机上,我推荐这个阅读,因为那时有一些安全方面:http://phpsec.org/projects/guide/5.html

答案 3 :(得分:0)

只是在下面的评论中添加,

请注意,为您的服务器应用创建会话非常昂贵。有时候将id存储在会话中以及cookie中的其他信息(不需要安全性作为用户名的信息)是个好主意。