Как избежать нежелательного переноса сеанса между различными экземплярами приложения - PullRequest
1 голос
/ 01 февраля 2012

Сценарий

Локальная версия приложения Zend Framework открыта на одной вкладке Chrome (среда разработки).В то же время у меня есть открытая версия или живая версия того же приложения, работающего на удаленном сервере.Я вошел в один из экземпляров.Когда я пытаюсь войти в другой, этот экземпляр завершается с фатальной ошибкой, пока я не удаляю файлы cookie другого экземпляра, где я вошел в систему первым.

Настройка домена для файлов cookie сеанса неидентичны, но перенос все еще происходит.

Вопросы

Почему это происходит?
Как мне избежать этого?

Ответы [ 2 ]

1 голос
/ 01 февраля 2012

Дайте каждому серверу свое имя сеанса (отличное от имени по умолчанию), чтобы у вас были разные сеансы. Обычно это работает, если вы хотите использовать несколько сеансов рядом друг с другом (и вы не хотите проверять настройки файлов cookie, например, заботиться о том, работает ли файл cookie только в его домене, и что рядом с файлом cookie больше ничего не используется для передачи идентификатора) .

В нативном PHP это session_name, я предполагаю, что Zend Framework также имеет соответствующий параметр конфигурации.

1 голос
/ 01 февраля 2012

Каковы настройки домена для файлов cookie сеанса для обоих? Если это верхний уровень, такой как .example.com, тогда файл cookie будет использоваться в обеих системах. Вы можете зафиксировать его до local.example.com и remote.example.com, чтобы файлы cookie сеанса были различны и не перекрывались.

...