我在mysite.com上有一个用户系统和数据库,在mysite.com/2上有另一个用户系统和数据库。
我发现的问题是,当用户登录site.com时,他们会加载mysite.com/2并显示另一个用户帐户。
我不知道造成这个问题的原因,我认为它与会话有关。我认为解决方案是在他们尝试访问mysite.com/2时注销mysite.com的用户。
我尝试使用session_destroy()
,但没有运气。
答案 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");