可以手动编辑PHP会话吗?

时间:2010-02-14 16:11:51

标签: php

PHP会话可以像cookie一样进行编辑吗?或者它们存储在虚拟主机上?

4 个答案:

答案 0 :(得分:5)

会话密钥存储在客户端的浏览器中,而数据存储在服务器上。

当用户在服务器上发出请求时,会话密钥将通过网络发送,并且与其密钥关联的值将从服务器上的特定会话文件中检索,并可通过$ _SESSION访问。

如果密钥被拦截,它可能会劫持另一个用户的会话,这就是为什么你应该在会话中具有与用户的计算机/网络连接(例如IP地址)相关联的特定值。

答案 1 :(得分:2)

用户无法编辑会话数据,因为它们存储在服务器上。但是,用户可以开始一个新的会话,并抛弃他以前拥有的任何会话数据。此外,您应该了解端点security issues,例如会话固定。

答案 2 :(得分:0)

如果主机不小心,通常它们存储在Web服务器的/ tmp目录中。这可以通过session_save_path(更改,这是我对所有使用会话的PHP应用程序所做的事情。

答案 3 :(得分:0)

如下所示:

  1. 浏览器请求页面,借助Cookie或网址提交您的SID或会话ID。
  2. 服务器在session_save_path()内找到cookie文件并反序列化数组
  3. 您可以使用PHP访问该信息
  4. 唉,客户端唯一知道的是会话的ID,但可以被劫持,例如使用cookie窃取程序或其他跨站点脚本方法。例如,如果我得到了你的SO会话,那么就不会比我更了解你。除非他们也检查我的IP或类似的东西。