同一主机上的多个站点;会话


Multiple sites on the same host; sessions?

>我在同一虚拟主机上运行两个站点(为什么不利用unlim.带宽和相对较大的存储空间?)。我遇到的问题是来自一个站点的会话泄漏到另一个站点。

$_SESSION["username"] = $somevar;

在站点 A 上,如果我echo该会话变量,它将按预期给出正确的输出,但在站点 B 上它执行相同的操作。

如何在不更改大量代码的情况下使会话与其他会话区分开来?我知道session_name()存在,但这需要我更改所有$_SESSION初始化以对应于给定的会话名称。当然有不需要这个的替代方案吗?

您可以将应用程序的会话保存路径设置为其他位置。

在你的 ini 中

session.save_path /secure/session/path

或在应用程序本身中

session_save_path('/secure/session/path');

(不要将路径设置为站点文档根目录内的任何内容)