首页 > 解决方案 > 多个 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');
?>

标签: phpsessionlocalhost

解决方案


每个域只能有一个会话。您的两个网站被您的 PHP 服务器视为一个。

在开发中,一种解决方法是更改​​ 的键$_SESSION['nameofuser'],这样每个网站的键都不同。

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


推荐阅读