php - 多个 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']
,这样每个网站的键都不同。
在生产中,如果您要在单独的域或子域中启动网站,这应该不是问题。
推荐阅读
- ios - 如何将数据从超类传递到子类?
- python - 导入时是否有退出模块的命令,例如返回函数
- javascript - React 私有路由组件渲染两次
- c# - 检测轮廓和相关像素
- c - c语言中的extern命令
- ruby-on-rails - Rails 管理员:删除关联记录选项
- c# - MongoDB在collectionm中搜索特定字符串,放入列表
- windows - 如何使用 Windows Defender 功能删除威胁
- javascript - formatting unstructured array
- flutter - Flutter post请求返回未处理的异常:HttpException:在收到完整标头之前连接已关闭,uri