два сайта на Ларе.
Оба сайта на поддоменах одного домена.
Прописал им чтобы использовали куки: .domain.com
Т.е. которые распространяются на все поддомены.
Но столкнулся с такой проблемой, когда захожу на сайт А - создается сессия ААА (сессия в куках привязывается к домену .domain.com)
Потом захожу На сайт Б - создается сессия BBB (так же привязана в куках к домену .domain.com, затирая предыдущий идентификатор)
Возвращаюсь на сайт А - создается сессия CCC (так же привязана в куках к домену .domain.com, затирая предыдущий идентификатор)
Как это избежать, кто в курсе?
точно .domain.com? ведь он только на потомков может. а так по дефолту в файлах сессии и у каждого проекта своя папка сессий. вынести хотя бы в БД сессии. но не знаю насколько хорошая идея
Отличная, а ещё лучше в redis
Проверь session.php там есть domain, поставь свой и храни сессии в одном месте - в любой бд или redis - должно помочь
Да, точно, в браузере в куках стоит именно .domain.com. У меня есть подозрение, что внутри Лары есть валидация идентификатора сессии. И т.к. идентификатор создан другим сайтом, то она не проходит и поэтому сайт создает новый идентификатор.
Спасибо! Я в env проставил: SESSION_DOMAIN=.domain.com И в настройках php выставил директиву: session.cookie_domain=.domain.com
В настройках php можешь убрать, смотри тут выставляется автоматически https://github.com/symfony/symfony/blob/6.1/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php#L352
Спасибо, сейчас поковыряюсь в этих дебрях. Мне почему-то кажется что теория с APP_KEY может быть небезосновательна.
Насколько я понял, PHPSESSID кука, как и все куки криптуются
Скорее всего влияетю
Благодарю! Сейчас пойду от обратного и попробую выставить одинаковые ключи. Посмотрю что будет.
Обсуждают сегодня