2013-02-25 2 views
1

У меня такой адрес example.com/page1. Например, пользовательский агент посетителя выглядит так: Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B146. Я запускаю session_id(), а идентификатор сеанса PHP - 12345. Я могу видеть файл «sess_12345» во временной папке. В нем есть все переменные сеанса.Сессия PHP уничтожается после изменения пользовательского агента

После некоторой обработки я перенаправляю его/ее на example.com/page2. Пользовательский агент посетителя изменяется на это: Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B146 Twitter for iPhone. Я снова запустил session_id() и узнал, что ID все равно 12345. Но когда я проверяю файл «sess_12345», я вижу, что он удален.

Это происходит, только когда пользователи приходят на мой сайт из приложения «Twitter для iPhone». Я думаю, файл сеанса удаляется из-за изменения пользовательского агента, но я не уверен. Что может быть причиной?

(Сессия успешно работает, кроме этого случая. Я использую CakePHP 2.4)

ответ

1

торта имеет настройку, которая будет проверять агент пользователя браузера. Если он изменится, он уничтожит сеанс. Отключите эту настройку:

Session.checkAgent

Смежные вопросы