我在$_SESSION
中保存了一些重要信息,而不是$_COOKIE
。所以,我的问题,是危险的吗?或者它是否受到试图编辑它的恶意用户的保护,我很好?
谢谢。
顺便说一下,是否也可以编辑$_COOKIE
?我听到了,但如果是,那怎么样?
答案 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可以包含任何内容,所以不要相信它。