2011-10-20 53 views
3

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

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

无论如何,当会议ids重新生成?

+0

会话数据保存在服务器上,用户永远不会看到或访问会话数据,除非您为其提供接口。默认情况下存储在客户端中的唯一东西是cookie中的会话ID字符串。 –

回答

0

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

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

1

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

0

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

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

0

就在波纹管的意见附加,

请记住,创建一个会话是为您的服务器贵应用程序。有时候将一个好主意存储在会话中并将其他信息存储在cookie中(不需要安全性作为用户名的信息)。

+0

通过实现缓存层(例如,memcached或tokyo tyrant)以及存储会话数据的方式可以避免将数据存储在持久性存储区(如MySQL)中的成本。 –