保护PHP $ _SESSION数据?

时间:2011-07-08 18:22:01

标签: php security session

我正在开发一个需要会话而不是cookie的项目,我想知道保护它们的好方法是什么? 使用cookies我会做这样的事情:

$x = serialize(array('username', sha1('pwd')));
setcookie('cookieName', $x, time()+60);
...
$myCookie = unserialize($_COOKIE['cookieName']));
echo $myCookie[0];

但我不太确定如何通过会话来解决这个问题。

3 个答案:

答案 0 :(得分:5)

无需在会话中序列化数据。它会为你序列化。

此外,我不知道这与安全有什么关系。 cookie中的密码的SHA1散列?您根本不应该发送客户端密码!至少在会话中,变量只存储在服务器端(默认情况下会话存储在服务器端文件中)

答案 1 :(得分:1)

不要将重要数据放入会话或cookie中。在数据库和会话中保存id或散列ID,然后只需在数据库中检查基于散列键的正确数据。你也可以使用md5('username');将其保存在会话中,之后当您需要数据时,只需将会话用户名/哈希与md5('用户名')进行比较;当前用户

答案 2 :(得分:0)

您也可以将序列数据存储到会话中。此外,如果需要,您可以将所有会话数据存储在数据库中的searilaized形式并维护一个sesion ID:

$_SESSION['key']= serialize(array('username', sha1('pwd')));
相关问题