@Anonymous85966

Возможна ли такая ситуация?

Мне пришла в голову идея. Сессия работает так: на компьютер клиента сохраняется куки с идентификатором сессии, а содержание сессии хранится не сервере. У меня есть система авторизации. При успешной авторизации в сесссию и в базу данных сохраняется токен , далее при использовании сайта каждый раз сравнивается токен из сессии с токеном в базе данных. Если токены не совпадут(пользователь вышел со всех устройтсв и из бд удалился прежний токен), то сессия с токеном удалится. Но возможно ли такое, что различные страницы сайта могут находиться на разных серверах? Например главная страница на одном сервере, а страница с сообщениями(если это соцсеть) на другом сервере. Если при авторизации сессия сохранилась на один из серверов, то при переходе на страницу с сообщениями, находящейся на другом сервере, пользователь будет считаться не авторизованным, тк идентификатор сессии есть, но само содержимое сессии хранится на другом сервере. Возможно я не очень грамотно сформулировал проблему, но суть проблемы в расположении модулей сайта на разных серверах . Если ситуация возможна, то что нужно сделать, чтобы избежать такого исхода событий? Создать базу данных с сессиями, где хранится id сессии и ее содержимое?
  • Вопрос задан
  • 124 просмотра
Решения вопроса 2
dyuriev
@dyuriev
A posteriori
сессии можно хранить в memcached или redis, не обязательно под такие вещи mysql насиловать.
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Ситуация такая возможна.
Создать базу данных с сессиями, где хранится id сессии и ее содержимое?
Да. Ну ил на веб-сервере нужно настроить sticky session.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы