基本上,我正在使用一个函数,当用户从同一个域的一个文件夹转到另一个文件夹时会破坏php会话,如下所示:mywebsite.com/folder1/index.php
此文件夹具有能够启动会话的特定用户列表,但我不希望他们能够将此会话传送到mywebsite.com/folder2/
(具有自己的用户列表)。< / p>
我想检查是否isset($_SESSION['login'])
并将其与每次启动页面时的用户列表进行比较。但是,我无法想象有另一种方法可以做到这一点,因为在每行的开头都有一个sql req并不是那么好。
答案 0 :(得分:1)
设置Cookie时,请限制其路径:
session_set_cookie_params(0, '/folder1');
http://php.net/session_set_cookie_params
如果您在每个文件夹中另外使用唯一的session names,则可以更好地确保会话仅限于某个路径。
答案 1 :(得分:0)
您可以使用其他级别数组:
$_SESSION['folder1']['login']
$_SESSION['folder2']['login']