PHP会话可以像cookie一样进行编辑吗?或者它们存储在虚拟主机上?
答案 0 :(得分:5)
会话密钥存储在客户端的浏览器中,而数据存储在服务器上。
当用户在服务器上发出请求时,会话密钥将通过网络发送,并且与其密钥关联的值将从服务器上的特定会话文件中检索,并可通过$ _SESSION访问。
如果密钥被拦截,它可能会劫持另一个用户的会话,这就是为什么你应该在会话中具有与用户的计算机/网络连接(例如IP地址)相关联的特定值。
答案 1 :(得分:2)
用户无法编辑会话数据,因为它们存储在服务器上。但是,用户可以开始一个新的会话,并抛弃他以前拥有的任何会话数据。此外,您应该了解端点security issues,例如会话固定。
答案 2 :(得分:0)
如果主机不小心,通常它们存储在Web服务器的/ tmp目录中。这可以通过session_save_path(更改,这是我对所有使用会话的PHP应用程序所做的事情。
答案 3 :(得分:0)
如下所示:
SID
或会话ID。session_save_path()
内找到cookie文件并反序列化数组唉,客户端唯一知道的是会话的ID,但可以被劫持,例如使用cookie窃取程序或其他跨站点脚本方法。例如,如果我得到了你的SO会话,那么就不会比我更了解你。除非他们也检查我的IP或类似的东西。