两个不同的登录系统不会在同一个域上单独运行

时间:2014-01-20 09:54:37

标签: php

我在mysite.com上有一个用户系统和数据库,在mysite.com/2上有另一个用户系统和数据库。

我发现的问题是,当用户登录site.com时,他们会加载mysite.com/2并显示另一个用户帐户。

我不知道造成这个问题的原因,我认为它与会话有关。我认为解决方案是在他们尝试访问mysite.com/2时注销mysite.com的用户。

我尝试使用session_destroy(),但没有运气。

2 个答案:

答案 0 :(得分:2)

如果问题是通过共享会话在应用程序之间泄漏数据,那么解决方案是为每个站点使用不同的会话。使用session_name() function为每个应用程序提供自己的会话名称。

<?php
    session_name("MYAPP");
    session_start();
?>

<?php
    session_name("MYOTHERAPP");
    session_start();
?>

或者,不要在同一个VHost上托管多个应用程序。

答案 1 :(得分:0)

这是因为,两个站点都在一个域下,它将创建SessionCookie来存储身份验证详细信息。

两个网站都创建了相同的 SessionCookie 名称。这就是问题...

使用

session_name();

为会话创建不同的名称......

// mysite.com的会话名称

session_name("MYSit1");

// mysite.com/2的会话名称

session_name("MYSit2");
相关问题