从特定文件夹出去时销毁会话

时间:2013-02-08 09:09:34

标签: php session

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

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

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

2 个答案:

答案 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']