问题描述
我有两个不同的网站共享同一个本地主机(共享主机),虽然我使用了会话,但仍然遇到一些问题。例如,即使未登录,仪表板也始终可以访问。我想我必须使用不同的 session_id 将它们分开,这样它们就不会相互影响。还是行不通。这是我的代码
第一个网站
session_start();
$_SESSION['session_id']="web1";
if (isset($_SESSION['nameofuser'])){
header('Location:adminaccessdashboard.PHP');
}
第二个站点
<?PHP
session_start();
$_SESSION['session_id']="web2";
if (isset($_SESSION['nameofuser'])){
header('Location:adminaccessdashboard.PHP');
}
include('dbconfig.PHP');
?>
注销两个网站
<?PHP
session_start();
unset($_SESSION['session_id']);
session_destroy();
header('Location:adminaccesslogin.PHP');
?>
解决方法
每个域只能有一个会话。您的两个网站被您的 PHP 服务器视为一个网站。
在开发过程中,一种解决方法是更改 $_SESSION['nameofuser']
的键,以便每个网站的键都不同。
在生产中,如果您要在单独的域或子域中启动网站,那应该没有问题。