不同地区的会话安全性

时间:2013-04-12 15:23:03

标签: php security session-cookies

我有一个有两个区域的网站。一个是金牌会员,另一个是银牌会员。我在用户登录时创建了两个会话变量;每个区域都需要两个会话变量才能访问。

黄金:session-userId和session-gold

Silver:session-userId和session-silver

这是安全的吗?如果黑客窃取或更改会话 - 白银会话黄金怎么办?然后他们可以访问不同的区域,不是吗?

2 个答案:

答案 0 :(得分:3)

有人不能只改变php创建的会话,比如can cookies。想一想,cookie被交给他们的机器,会话存储在服务器上并在断开连接时丢失。您应该确保清理所有输入,或者可以操纵会话启动

答案 1 :(得分:0)

黑客的安全性是一个非常广泛的领域,它可能非常棘手。您应该始终认为黑客可能会破坏您的代码并获得访问权。

如上所述,我使用数据库而不是会话来确定用户权限,我不会使用普通会话值而是加密会话值。也许你可以这样做:

$_SESSION['user_level'] = sha1($userId . "session-silver");

然后在每次需要时比较正确的哈希值。请记住,通过默默无闻的安全性并不是一种安全的方法,因为黑客可能会窃取您的源代码。

免责声明:此建议不是为了防弹,而是对当前代码的一个小而简单的改进,而不是太复杂而无法快速实施