Проблема с сеансом входа в систему после перемещения соответствующих файлов в корень сайта - PullRequest
0 голосов
/ 03 июня 2010

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

Я использую систему входа в систему на основе $ _session, которая обновляет идентификатор сеанса при каждой загрузке страницы, при этом значение сравнения сохраняется в базе данных MySQL.

У кого-нибудь есть предложения, что может быть причиной этой проблемы?

Ответы [ 3 ]

1 голос
/ 03 июня 2010

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

Проверьте, чтобы точно какие куки (имя, путь, срок действия, флаги) были установлены и возвращены с помощью iehttpheaders (MSIE) LiveHeaders (Firefox) или с помощью сетевого анализатора типа wireshark. Затем задайте вопрос еще раз, уточнив, что вы узнали.

C.

0 голосов
/ 03 июня 2010

Если вы измените идентификатор сессии, вы потеряете все данные, сохраненные в предыдущем сеансе. Вы должны установить имя сеанса после каждой команды запуска сеанса

<?php
session_name('AnySessName');
?>

или используйте другой механизм для хранения переменных между сеансами.

0 голосов
/ 03 июня 2010

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

Способ исправить это - поместить страницу перенаправления на старый подкаталог, который добавляет cookie в '/', а затем перенаправляет на новый сайт в корневом каталоге.

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