0

基本上,当用户从一个文件夹转到同一域上的另一个文件夹时,我正在使用一个函数,该函数会破坏 php 会话,如下所示:mywebsite.com/folder1/index.php

此文件夹具有能够启动会话的特定用户列表,但我不希望他们能够将此会话带到mywebsite.com/folder2/(它有自己的用户列表)。

我想在isset($_SESSION['login'])每次启动页面时检查是否并将其与用户列表进行比较。但是,我无法想象还有另一种方法可以做到这一点,因为在每一页的开头都有一个 sql req 并不是那么好。

4

2 回答 2

1

设置 cookie 时,限制其路径

session_set_cookie_params(0, '/folder1');

http://php.net/session_set_cookie_params

如果您另外使用每个文件夹的唯一会话名称,您将更好地确保会话被限制在某个路径。

于 2013-02-08T09:15:10.307 回答
0

您可以使用附加级别数组:

$_SESSION['folder1']['login']
$_SESSION['folder2']['login']
于 2013-02-08T09:15:00.903 回答