有没有办法让客户看到$ _SESSION中的内容?

时间:2013-03-21 02:01:51

标签: php security session

我需要在PHP中的$_SESSION变量上放置一些重要数据,并想知道这些数据是否安全。客户是否能够查看此$_SESSION变量中的信息?在会话中存储敏感数据是否有任何安全隐患?

2 个答案:

答案 0 :(得分:2)

不,客户端无法查看会话数据,因为它存储在服务器端。但是:

如果您在共享服务器上,则与您共享服务器的其他人也无法访问它。

此外,会话数据使用存储在客户端cookie中的会话ID绑定回用户。如果Bob能够获得Alice的cookie,他就可以冒充她了。

如果我不提出一些解决方案,我想我的答案还不完整,所以:

要解决第一个问题,您应该将加密数据存储在会话中。

要解决第二个问题,您还应该比较IP地址等其他内容,以确保Bob不会尝试使用其他人的cookie。这样,如果Bob窃取了Alice的cookie,您就可以将Bob的IP与您在会话中存储的Alice的IP进行比较,并发现不匹配。

答案 1 :(得分:1)

确实需要你采取措施让会议更安全..

1)仅使用httponly cookie使用会话ID,并通过url ..

禁用会话ID

2)将session_save_path设置为公共索引之外的新位置。如果您在共享主机上他们不能使用会话注入来查看会话中的内容。 更好..使用数据库作为会话处理程序..

3)禁用你的网络服务器的http方法TRACE,TRACK,HEADER,如果攻击者可以包含一些java,flash或者ajax,用户的http cookie也可以被盗。

4)关于IP使用者或某种指纹的锁定会话......

5)更新所有请求的session_id,使make session id暴力更加困难