Один и тот же сервер, разные домены требуют разных сеансов - PullRequest
4 голосов
/ 10 февраля 2010

Я использую логин и регистрацию для нескольких доменов, которые общаются с одной базой данных - мы будем называть их i.domain-a.com и i.domain-b.com. Оба этих поддомена имеют записи A в DNS, которые указывают на один сервер - таким образом, i.domain-a.com/hello.php и i.domain-b.com/hello.php запускают одно и то же.

Итак, если я создаю сеанс в домене A, я могу перейти в домен B и получить ту же информацию о сеансе. Чтобы реализовать полностью отдельные системы входа в систему для обеих из них, использующие те же функции PHP, которые я написал для обработки регистрации, я должен сделать что-то с session_name() на основе $_SERVER['HTTP_HOST']? Я не уверен, насколько похожа моя ситуация на этого парня , и надеюсь, что этот вопрос не слишком похож.

Ответы [ 3 ]

3 голосов
/ 10 февраля 2010

Чтобы избежать проблем с сессиями, вы должны использовать session_name ('myapplication') [session_name ({UNIQUE_APP_ID})]].

Проблема, о которой вы говорите, может возникнуть в более простых ситуациях, когда для пользователей веб-сайта есть панель администрирования и форма входа.

Если session_name не используется, зарегистрированный пользователь может иметь доступ к администратору. панель но это зависит от аутентификации. Схема и механизм, который вы реализовали .

С уважением,

2 голосов
/ 10 февраля 2010

Сеансы / файлы cookie зависят от домена и не зависят от настроек DNS. Если вы хотите, чтобы сеансы обеих систем были отдельными, когда они живут в разных доменах, вы уже настроены.

Полагаю, session_name() на самом деле было бы лучшим решением вопроса другого парня, двух отдельных сессий в одном домене.

0 голосов
/ 10 февраля 2010

Нет. Механизм, который предотвращает получение разными пользователями одного и того же сеанса, работает отдельно для каждого сервера, а не для имени узла.

...