[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Область виденья сессий
Arrogant.Elf
Здравствуйте,

Существует скрипт, в котором используются сессии.

Это скрипт установлен дважды. Один доступен по адресу domain.ru другой по адресу domain.ru/folder/

Проблема возникает если пользователь авторизовался во скрипте Domain.ru а потом заходит domain.ru/folder , то там он автоматически становится авторизованным (так как сессия уже существует) и может работать под чужим именем.

Как сделать ограничение сессий? Записывать ID сессии в базу данных при каждой авторизации? Или как лучше поступить?

Заранее спасибо.



Спустя 14 минут, 59 секунд (1.09.2010 - 15:16) Basili4 написал(а):
Arrogant.Elf
Погляди session_name()

Спустя 32 минуты, 14 секунд (1.09.2010 - 15:48) Nikitian написал(а):

$sess=session_get_cookie_params();
session_set_cookie_params($sess["lifetime"],'/folder/');

Так сессия будет стартовать только для указанной директории. Только вот бред это всё. Да, и не забывайте, что запуская таким образом сессию в папке /folder/ она же будет работать в /folder/some/

Спустя 10 минут, 1 секунда (1.09.2010 - 15:58) Arrogant.Elf написал(а):
Цитата
Погляди session_name()


А как поможет?

Цитата
Так сессия будет стартовать только для указанной директории. Только вот бред это всё. Да, и не забывайте, что запуская таким образом сессию в папке /folder/ она же будет работать в /folder/some/

Тут проблема ещё в том, что есть директория ...admin/ и соотвественно ...folder/admin и там должны работать сессии из соответствующих копий скрипта



Будет ли самым простым решением просто хранить в сессии индификатор показывающий с какой копии авторизовались и проверять каждый раз?

Спустя 3 минуты, 59 секунд (1.09.2010 - 16:02) twin написал(а):
Поставь префиксы просто переменным.

Спустя 2 минуты, 37 секунд (1.09.2010 - 16:05) Basili4 написал(а):
Arrogant.Elf
файл1
session_name('sessiy1');
start_session();

$_SESSION['ee']=1;

файл2
session_name('sessiy2');
start_session();

// Здесь уже не будет перемененной ee



Спустя 1 минута, 50 секунд (1.09.2010 - 16:07) Arrogant.Elf написал(а):
Цитата
Поставь префиксы просто переменным.

Точно! =) Тем более уже есть константа с префиксам которая добавляется при обращении к таблицам БД!


Спасибо, сам как-то не додумал до этого)

Спустя 1 минута, 52 секунды (1.09.2010 - 16:09) Arrogant.Elf написал(а):
Цитата
Arrogant.Elf
файл1
session_name('sessiy1');
start_session();

$_SESSION['ee']=1;

файл2
session_name('sessiy2');
start_session();

// Здесь уже не будет перемененной ee

То есть можно в каждой копии скрипта использовать как раз префикс для session_name =)?

Спасибо

Спустя 1 минута, 4 секунды (1.09.2010 - 16:10) Basili4 написал(а):
не перфикс а имя сессии

Спустя 1 минута, 50 секунд (1.09.2010 - 16:11) Arrogant.Elf написал(а):
Цитата
не перфикс а имя сессии

А не должно ли быть это имя сессии уникальным для каждого пользователя?

Спустя 1 минута, 41 секунда (1.09.2010 - 16:13) twin написал(а):
Это имя, а не идентификатор.


_____________
Лучше сорок раз по разу, чем ни разу сорок раз.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.