2013-03-21 92 views
1

我需要在PHP中为$_SESSION变量添加一些重要数据,并且想知道这些数据是否安全。客户是否能够看到这个$_SESSION变量的信息?将敏感数据存储在会话中是否存在安全隐患?

+4

这是为确保为您的代码和服务器是安全的。 – Tchoupi 2013-03-21 02:03:43

回答

1

确实需要你应该采取步骤,使会议更加安全..

1)的HttpOnly饼干只和禁用会话ID的通过URL中使用会话ID ..

2)session_save_path设置到新的位置在你的公共索引之外。如果你在共享主机上。他们不能使用会话注入来查看会话中的内容。 3)禁用http方法TRACE,TRACK,HEADER你的web服务器,如果攻击者可以包含一些java,flash或ajax,用户的http cookie也可以被盗用。

4)IP的用户代理或某些类型的指纹锁定会议...

5)续签所有请求的session_id,使创建会话ID暴力破解更困难

2

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

如果您位于共享服务器上,其他人与您共享服务器并非不可能访问它。

此外,会话数据通过存储在客户端cookie中的会话ID绑定回用户。如果鲍勃能够得到爱丽丝的饼干,他将能够模仿她。

我想我的答案是不完整的,如果我不提出一些解决为好,免得:

为了解决第一个问题,你应该存储在会话加密的数据。

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

+0

谢谢你,你回答了我的问题 – user2130148 2013-03-21 02:36:38

+0

@ user2130148:很高兴帮助。如果它确实回答了您的问题,请接受此答案(通过单击答案左侧的复选标记)。 – xbonez 2013-03-21 02:38:18

相关问题