我的问题主要是出于安全原因,因为我正在构建一个使用会话的网站,并处理用户的ID和ROLE以显示某些特定内容。
成功登录后会创建此会话。
有没有办法编辑会话,例如将他的ID或ROLE更改为其他内容,这样他就可以在其他地方获得访问权限?
答案 0 :(得分:1)
没有。会话数据写在Web服务器上的文件中,除非通过在代码中设置$_SESSION
变量,否则任何Web用户都无法访问该文件。
因此,只要您没有eval()
用户输入,您就可以安全地进行会话。将用户链接到其特定会话数据的唯一事情是具有会话ID的cookie,可以手动更改。如果您有很多活动会话,他们可能会猜到有效的会话ID并劫持其他人的会话。
答案 1 :(得分:0)
获取更好的信息:
请参阅此现有网址: Is it possible for a malicious user to edit $_SESSION?
答案 2 :(得分:-2)
会话变量只是普通变量。
$_SESSION['id']=1;
编辑它,只需为其分配另一个数字
$_SESSION['id']=2;
如果您想查看会话的内容:
var_dump($_SESSION);