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