我正在使用我的localhost,我有两个应用程序在那里运行。
让我们说网址是:
每个应用程序都有自己的登录模块,该模块使用基于PHP的会话来限制/允许用户进入应用程序。会话变量的名称相同,即uid
。我使用它的方式是:
<?php
session_start();
if(!isset($_SESSION["uid"]))
header('location:login/index.php');
?>
但app1的会话变量正在app2中运行并且可以在app2中访问,我不想要。如何限制在app1中创建的会话变量的可访问性,以便它不会干扰其他会话变量。
我读了这个How to restrict a session to a directory only in PHP?,但这不符合我的情况,因为它只适用于一个目录。
答案 0 :(得分:1)
使用options数组调用session_start()
时为会话使用不同的名称(更多信息:http://php.net/manual/en/session.configuration.php),例如:
// App 1
session_start(['name' => 'Session1']);
// App 2
session_start(['name' => 'Session2']);
这导致不同的会话cookie名称,最后是完全分离的会话。