Распространение сессий на поддомены в PHP

На некоторых проектах сайтов директории заменены поддоменами. К примеру, если на простом сайте раздел магазина будет находиться в директории /shop/, то на таком проекте он может находиться в домене третьего уровня shop.сайт.ru.

Такой подход организации сайта выглядит интересным, но с ним появляются проблемы. А именно проблемы с сессионными файлами PHP. Ведь при авторизации на сайте данные сессии сохраняются на определённый домен. И чтобы распространить их использование на поддомены, необходимо прописать следующую директиву в файле htaccess в корневой папке сайта.
php_value session.cookie_domain ".domain.com"
Замените в этой строке "domain.com" на свой домен. Обратите внимание на точку в начале, именно из-за неё происходит распространение сессии на поддомены.

Для проверки правильности установки директивы можно создать файл с вызовом phpinfo(), в котором можно найти установленное значение: Установка директивы session.cookie_domain Теперь попробуем убедиться, что PHP действительно начал подгружать те же файлы сессий при обращении к поддомену, что и при обращении к основному домену. Правильность работы этой функции можно проверить по-разному. К примеру, можете записать в массив $_SESSION данные при открытии основного сайта, а прочитать при открытии другой страницы сайта на поддомене.

Но если проект уже стартовал и пользователи создали разные сессионный файлы для всех поддоменов, то придётся сделать глобальное удаление сессий, чтобы у всех пользователей снялась авторизация на сайте. Это можно сделать, если удалить все файлы из папки, где хранятся файлы сессий. Путь к этой папке на сервере найти в phpinfo(). Он называется "session.save_path". В этой папке хранятся файлы: Файл сессии PHP Если удалить все файлы из этой папки, то авторизация всех пользователей слетит (значение сессий в куки браузера станет невалидным).
Не забудьте, что сессионный ключ на некоторых CMS сохраняется ещё и в куки (иногда в захешированном или зашифрованном виде). Поэтому нужно очистить куки браузеров пользователей.
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Cмотрите другие статьи:
Была ли статья полезной?
Была ли эта статья полезна? Есть вопрос?
хостинг для сайтов
Закажите недорогой хостинг Заказать

всего от 290 руб

⇡ наверх