Php 为一个域上的站点设置不同的会话变量

Php 为一个域上的站点设置不同的会话变量,php,session,session-variables,Php,Session,Session Variables,我在一个域中有多个网站(虚拟主机): website.com/site1,website.com/site2等。 每个站点上都有一个身份验证,它将用户名保存在会话中 问题是: 如果我在site1,比方说,Alex从我的浏览器访问site2,site1会认为我是Alex。如果我做了什么,Alex将被写入数据库 一种解决方案是检查每个操作的会话和用户名是否相同 是否有一种解决方案可以使用相同的$\u会话['name']变量为site1和site2设置不同的$\u会话['name']变量? 在 web

我在一个域中有多个网站(虚拟主机):
website.com/site1
website.com/site2
等。 每个站点上都有一个身份验证,它将
用户名
保存在
会话

问题是: 如果我在
site1
,比方说,Alex从我的浏览器访问
site2
,site1会认为我是Alex。如果我做了什么,Alex将被写入数据库

一种解决方案是检查每个操作的
会话
用户名
是否相同


是否有一种解决方案可以使用相同的
$\u会话['name']
变量为
site1
site2
设置不同的
$\u会话['name']
变量?

website.com/site1 当您启动会话时,这意味着您要执行一些功能,然后将其存储在数据库中,如

//SQL things and finally
$_SESSION['username'] = $username;
你可以这样做

 $_SESSION['site1-username'] = $username;
在其他站点中也是如此

$_SESSION['site2-username'] = $username;

我有一个懒惰的解决方案,如果它能为你工作

website.com/site1 当您启动会话时,这意味着您要执行一些功能,然后将其存储在数据库中,如

//SQL things and finally
$_SESSION['username'] = $username;
你可以这样做

 $_SESSION['site1-username'] = $username;
在其他站点中也是如此

$_SESSION['site2-username'] = $username;

更好的解决方案是:


JS每5秒向服务器发送一次用户名。服务器检查它是否等于会话。如果没有,则要求用户进行身份验证。

找到更好的解决方案:


JS每5秒向服务器发送一次用户名。服务器检查它是否等于会话。如果没有,则要求用户进行身份验证。

您是否可以使用
$\u会话['site1']['name']
$\u会话['site2']['name']
?我想使用一个变量。实际上,我现在不想更改所有站点中的所有变量。还有很多其他的会话变量:)检查一下,(同一个域,不同的文件夹PHP会话):可能重复的不是不同的文件夹。只是不同的php文件。不过,谢谢,我会检查一下。您能使用
$\u会话['site1']['name']
$\u会话['site2']['name']
吗?我想使用一个变量。实际上,我现在不想更改所有站点中的所有变量。还有很多其他的会话变量:)检查一下,(同一个域,不同的文件夹PHP会话):可能重复的不是不同的文件夹。只是不同的php文件。但是,谢谢,我会检查。我现在不想更改所有php文件)我现在不想更改所有php文件)