多个php网站共享同一个本地主机,影响彼此的登录功能

问题描述

我有两个不同的网站共享同一个本地主机(共享主机),虽然我使用了会话,但仍然遇到一些问题。例如,即使未登录,仪表板也始终可以访问。我想我必须使用不同的 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'] 的键,以便每个网站的键都不同。

在生产中,如果您要在单独的域或子域中启动网站,那应该没有问题。