是否可以修改$ _SESSION变量?

时间:2011-05-20 08:46:46

标签: php http

恶意用户是否有可能将$ _SESSION(在php中)变量设置为他想要的任何值?

9 个答案:

答案 0 :(得分:8)

高度取决于您的代码。非常明显的事情:$_SESSION['username'] = $_REQUEST['username']

答案 1 :(得分:3)

这取决于你如何设置sessions变量。用户可以利用您设置它们的方式。

会话最常见的攻击是会话固定:http://en.wikipedia.org/wiki/Session_fixation

答案 2 :(得分:3)

是的,使用其他用户的会话数据,如下所示:http://phpsec.org/projects/guide/4.html

答案 3 :(得分:2)

如果你为他提供了一种方法(糟糕/不安全的代码),这是可能的。但是,这通常不太可能。

答案 4 :(得分:2)

通常不是,但是如果您的PHP中存在远程执行代码漏洞,则可能会出现这种情况。

答案 5 :(得分:2)

除非你在代码中做错了什么,否则他无法在你的服务器上设置它,他能做的就是窃取其他一些用户会话cookie并以这种方式进行...换句话说;他可以改变他自己的会话cookie,你的$ _SESSION用它来识别他

答案 6 :(得分:2)

不,如果您的代码正确且不允许根据未经验证的用户输入设置值,则不会。

答案 7 :(得分:1)

是。如果您使用来自cookie或其他类似请求方法的内容,用户可以编辑该方法以与会话进行交互,则会发生更改。例如,假设您创建了一个在线商店并将项目ID存储在cookie中,并在页面刷新时将其推送到会话中。在页面上,用户可以编辑cookie,这样当它进入会话时就会被修改。

答案 8 :(得分:-1)

是的,当REGISTER_GLOBALS打开时。