在Session中设置用户ID或用户名是否安全?

时间:2014-08-21 11:43:47

标签: php session

我是新手,我有一个问题,我想构建一个安全性为50%的PHP脚本。 我只是想基于php会话创建一个登录系统。

因此,当我在互联网上学习时,我们可以在会话中存储用户ID或用户名,如:

$_SESSION['username'] = $user_name;

那么,这样做是否安全?

其他人可以构建虚假会话并访问管理区域吗?

如果可能,解决方案是什么?我们可以在会话中存储哈希密码吗?

3 个答案:

答案 0 :(得分:3)

会话值存储在服务器上。因此,无法从客户端获取或更改会话的内容。

某人可以创建会话的唯一方法是通过您的脚本或者他们是否有权访问您的服务器(在这种情况下,您有更大的问题)。

然而,某人可能会使用cookie窃取程序访问其他人的会话,但这超出了此问题的范围。

答案 1 :(得分:1)

如果您在login authentication用户名之后构建会话,则会很安全。和会话驻留在服务器上。所以无法在没有登录验证的情况下重建会话

所以任何人都必须使用授权用户名和密码登录才能构建会话。

更安全的方法是生成long random stringletters and digits混合为login key并将其存储在数据库中给经过身份验证的用户

现在将login key存储到sessio n,并使用存储在会话中的login key用特定用户的用户名访问用户名和密码

答案 2 :(得分:1)

是的,可以伪造一个会话,但它并不像偷一个cookie那么容易,所以它有点安全,如果你没有网站,人们用钱做某事,那么最好引入一些加密。