恶意用户是否可以编辑$ _SESSION?

时间:2009-12-29 20:38:32

标签: php session

我在$_SESSION中保存了一些重要信息,而不是$_COOKIE。所以,我的问题,是危险的吗?或者它是否受到试图编辑它的恶意用户的保护,我很好? 谢谢。

顺便说一下,是否也可以编辑$_COOKIE?我听到了,但如果是,那怎么样?

7 个答案:

答案 0 :(得分:18)

$_SESSION存储在服务器端。黑客可以做的最好的事情是替换现有会话的另一个用户会话,但是黑客无法将任意数据插入$_SESSION。但是,$_COOKIE存储在客户端,因此黑客可以通过编辑cookie将任意数据插入到cookie中。

答案 1 :(得分:7)

默认情况下,$_SESSION已由名为phpsessionid的cookie支持(以便服务器能够识别客户端并将其与服务器内存中的一个会话关联)。如果黑客知道其他人的cookie值并将其复制到同一域/路径上具有相同名称的自己的cookie中,则黑客可以访问相同的$_SESSION。然而,cookie值很长且随机,足以最大限度地降低会话在半小时内被劫持的风险(默认会话超时)。

答案 2 :(得分:3)

$ _ SESSION存储在您的网络服务器上,因此无法通过网络直接更改它。当然,您的PHP应用程序可以更新$ _SESSION,因此攻击者仍有可能欺骗您的应用程序对$ _SESSION做一些不应该做的事情 - 这一切都取决于您的应用程序的具体情况。

$ _ COOKIE存储在用户的浏览器中,这意味着用户有权更改自己的cookie。

Cookie的主要用途之一是身份验证。用户登录并将信息存储在$ _SESSION中。 Cookie(存储在$ _COOKIE中)记录用户的会话ID,以便您的应用程序知道哪个会话属于登录用户。

答案 3 :(得分:3)

如果您担心人们改变会话(会话劫持),请查看session_regenerate_id()

答案 4 :(得分:1)

是黑客可以劫持你可以使用session_regenerate_id()的会话,或者偷走它  看   如果您是管理员并且您已登录,(会话在服务器中)   黑客通过xss =>将使用此会话和日志在他的电脑中制作cookie,更改通行证或添加管理员,以及会议结束时


cookie也可以偷走,   看看这段代码   setcookie("admin","admin_log",time()+3600);  如果黑客知道他可以登录的开源代码  使用firefox插件制作cookie作为cookie名称和值

答案 5 :(得分:0)

每次请求页面时,都会通过用户代理发送Cookie。用户代理不需要是浏览器。它可能是一个小的shell脚本。即使它是浏览器,也有Firefox的“编辑cookie”扩展名。

答案 6 :(得分:0)

$ _ COOKIE包含客户端发送到您的Web服务器的信息。最常见的是这是浏览器cookie的内容,但是t可以包含任何内容,所以不要相信它。