Internet Explorer случайным образом сбрасывает сессии между страницами в cakePHP - PullRequest
4 голосов
/ 01 июня 2010

Я столкнулся с чрезвычайно необычной ошибкой, которую моя команда буквально не знает, как ее решить. Проведя некоторое исследование, я нашел несколько похожих решений, которые, как я думал, будут работать, но, увы, нет.

Вот моя ситуация, дайте мне знать, если я могу предоставить дополнительную информацию, чтобы помочь решить проблему.

Первый шаг заключается в том, что кто-то выбирает страну с помощью флэш-карты. Flash передает это имя региона (а также дату) через URL-адрес, который затем преобразуется в сеанс. Следующая страница не содержит Flash и не отображает выбранную область, но она удерживает ее для дальнейшего процесса.

Все отлично работает в Safari и Firefox; однако в IE иногда возникают неожиданные результаты. Часто (но не всегда) сеанс полностью удаляется, и между первой и второй страницами сеансы не сохраняются.

Вот шаги, которые я предпринял до сих пор, безуспешно: 1. Изменен уровень защиты со среднего -> низкий 2. Изменил CheckUserAgent с True -> False 3. Изменено хранение сессий из PHP -> База данных

Некоторая дополнительная информация, которая может быть полезна: Я попытался распечатать данные сеанса в Debug (отладка ($ _ SESSION) в моем файле представления и отладка, установленная в 2 в конфигурации). В Internet Explorer все печатается как положено, КРОМЕ, если регион и дата не установлены.

Например: Если регион и дата не установлены, НИЧЕГО не выводится для отладки. Я не получаю информацию о сеансе вверху, и я не получаю нормальный дамп вызовов внизу страницы.

Я не использую перенаправление на этих страницах.

Пожалуйста, дайте мне знать, если у вас есть ЛЮБОЕ представление о том, что вызывает то или иное решение. Я очень расстроен и постарался как можно больше решить эту проблему.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 02 июня 2010

Я бы порекомендовал отслеживать информацию о файлах cookie, которой обмениваются сервер и браузер в обоих направлениях. Посмотрите заголовки для каждого запроса и ответа и посмотрите, отправляется ли в какой-то момент неправильный файл cookie или файл cookie отсутствует. Это может помочь вам найти причину проблемы. Недавно у меня была похожая проблема , которую я смог решить с помощью этого метода.

Лучший способ сделать это для IE - использовать Fiddler .

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

Обычно это происходит, когда «Security.level» установлен в «high» в вашем core.php. Попробуйте перейти на средний или низкий. Это решило эту проблему для меня раньше.

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

У нас была похожая проблема при развертывании клиента, оказалось, что IE использовал какой-то прокси-сервер, и, передав ему прокси-сервер для приложения, решил ее.

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