[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как разделить сессии
Protva
Возникла такая проблема.
Имеются два поддомена, допустим test1 и test2. Скрипты в них за небольшим исключением одинаковые, разная только информация в базах. Оба имеют админки, но с разными паролями и логинами. Отслеживаю работу в админке с помощью сессий.

Теперь вот что получается.
Вхожу в админку сайта test1. А затем, уже когда нахожусь в админке, меняю в адресной строке браузера адрес с test1 на test2 и запросто пападаю в админку второго сайта.
Как я понимаю значение сессии одинаково для обоих поддоменов. Поэтому меня и не выбрасывает на страницу авторизации.

Как бы от этого избавится? А то у меня основной сайт и демо-версия. И очень не хочется, что бы догадливый юзер преподнес сюрприз, зайдя в демку, а потом перейдя в админку сайта.




Спустя 9 минут, 41 секунда (28.01.2009 - 13:10) dfsq написал(а):
можно для каждого из поддоменов использовать свою сессию,
session_name(....) насколько я понимаю

Спустя 3 минуты, 56 секунд (28.01.2009 - 13:14) Protva написал(а):
Спасибо, сегодня обязательно попробую. Что-то сам не додумался. sad.gif

Спустя 8 часов, 42 минуты, 18 секунд (28.01.2009 - 21:56) kirik написал(а):
Лучше всего через session_set_cookie_params(); определить для кукисов сессии какой домен/поддомен нужно использовать.
Или через директиву session.cookie_domain в php.ini (можно попробовать с помощью ini_set();)

Спустя 10 часов, 43 минуты, 6 секунд (29.01.2009 - 08:39) Protva написал(а):
Поскольку эта тема была перемещена из форума "РНР для начинающих", то хочу попросить рассказать немного по подробнее как использовать session_set_cookie_params() и session.cookie_domain. Так как по ссылкам все на английском, а я его не знаю.
Просто небольшие примеры, если можно.

*****************************************************

Кажется эта проблема решилась сама собой. Оказалось, что браузер вытаскивал все из кеша и после чистки все стало нормально работать.

Но пару примеров использования session_set_cookie_params() и session.cookie_domain хотелось бы получить.

Спустя 1 час, 28 минут, 55 секунд (29.01.2009 - 10:08) kirik написал(а):
Protva
Предпочтительный вариант -
PHP
// Первый домен
session_set_cookie_params(0'/''sub1.domain.com');
// Второй домен
session_set_cookie_params(0'/''sub2.domain.com');


Дополнительный вариант (может работать не на всех серверах) -
PHP
// Первый домен
ini_set('session.cookie_domain''sub1.domain.com');
// Второй домен
ini_set('session.cookie_domain''sub2.domain.com');

Спустя 2 минуты, 22 секунды (29.01.2009 - 10:10) Protva написал(а):
Спасибо.

Спустя 37 секунд (29.01.2009 - 10:11) kirik написал(а):
Цитата (Protva @ 29.01.2009 - 00:39)
Кажется эта проблема решилась сама собой.

Да, скорее всего это не было проблемой. Так как из соображений безопасности по умолчанию директива session.cookie_domain пустая, тоесть куку с какого-то домена можно использовать только на нем. А если хочется юзать куки на всех поддоменах, то изменение должно выглядеть как-то так - .domain.com


_____________
Быстрый ответ:

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