关于php:恶意用户是否有可能编辑$ _SESSION?

Is it possible for a malicious user to edit $_SESSION?

我将一些重要信息保存在$_SESSION中,而不是在$_COOKIE中。所以,我的问题,这很危险吗?还是可以防止恶意用户尝试对其进行编辑,我还好吗?
谢谢。

顺便说一句,还可以编辑$_COOKIE吗?我听到了,但是如果是,那怎么办?


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


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


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


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

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

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


是的,黑客可以劫持您可以使用session_regenerate_id()的会话,也可以将其窃取

如果您是管理员并且登录,(会话在服务器上)
黑客通过xss =>将其与此会话一起在他的PC中制作cookie并记录,更改密码或添加admin,然后终止会话

Cookie也可以偷走,
看这段代码

setcookie("admin","admin_log",time()+3600);

如果黑客知道像开源这样的代码,他可以登录为
通过firefox插件制作cookie作为cookie名称和值


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


每次请求页面时,都会通过用户代理发送cookie。用户代理不必是浏览器。它可能是一个小的Shell脚本。即使是浏览器,Firefox也有一个" edit cookie "扩展名。