Файлы cookie сеанса Firefox
вообще говоря, при наличии файла cookie, который не имеет срока действия, современные браузеры будут считать этот файл cookie "сеансовым файлом cookie", они удалят файл cookie в конце сеанса просмотра (как правило, когда экземпляр браузера закрывается).
IE, Opera, Safari и Chrome все поддерживают это поведение.
однако firefox (3.0.9 последний правильный выпуск), похоже, не следует этому правилу, из чего я могу сказать, что он не истекает куки, когда браузер закрывается, или когда пользователь выходит из системы или перезагружает ОС..
Итак, почему firefox ссылается на них как на сессионные куки, когда они длятся почти бесконечно?
кто-нибудь знает, как Firefox обрабатывает истечение срока действия cookie сеанса?
7 ответов:
Это очевидно по дизайну. Проверьте эту ошибку Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=443354
Firefox имеет функцию, в которой вы закрываете Firefox, и он предлагает сохранить все ваши вкладки, а затем вы восстанавливаете браузер, и эти вкладки возвращаются. Это называется восстановлением сеанса. Я не понимал, что он также восстановит все сеансовые куки для этих страниц! Он относится к нему так, как будто вы никогда не закрывали браузер.
этот имеет смысл в том смысле, что если Ваш браузер разбился, вы вернетесь туда, где вы были, но это немного смущает веб-разработчиков, используемых для очистки сеансовых файлов cookie. У меня есть некоторые старые сеансовые куки из месяцев назад, которые были установлены сайтами, которые я всегда открываю на вкладках.
чтобы проверить это, закройте все вкладки в браузере, затем закройте браузер и перезапустите его. Я думаю сеансовые куки для вашего сайта должны быть очищены в этом случае. В противном случае вам придется выключите восстановление сеанса.
две идеи :
- у вас есть проблема с вашим менеджером сеансов (тот, который включен в FF3 или один включен в расширение, например tabmixplus)
- используйте Firebug + FireCookie (https://addons.mozilla.org/en-US/firefox/addon/6683) для отладки !
Это должно работать. Я раньше был одним из тестеров модуля cookie, и я не думаю, что есть какая-либо причина дизайна, по которой это будет вести себя по-другому (хотя если вы потерпите крах, сеансовые файлы cookie может быть рассчитаны на при перезагрузке...)
вы просматриваете куки в меню "Настройки" > вкладка "конфиденциальность" > " показать куки...- пуговица?
кроме того, вы пробовали новый профиль?
Это немного беспокоит в общих пользовательских средах. Если я установил файл cookie проверки подлинности, срок действия которого истекает в конце сеанса. Это будет сохраняться в Firefox после того, как браузер был закрыт и другой пользователь запускает Firefox. Куки-файлы устанавливаются с датой истечения срока действия по какой-то причине!
Я смущен тем, что Mozilla оставила это как есть в течение нескольких лет.
ОК.. поэтому я вышел из FF и выключил компьютер. На следующий день FF запускается и открывает последний набор страниц (хорошая удобная функция), но он восстанавливает сеансы, и я снова вошел на сайты, у которых нет функции "сохранить мои настройки". Я знаю, потому что это сайты, которые я построил. Что бы я ни делал с настройками php ini, сеансы восстанавливаются.
Они абсолютно не должны быть восстановлены. Страницы да, но сеансы с cookie ini установлен в '0' Нет.
Я не понимаю, почему это не помечается как дыра в безопасности. Конечно, я могу сделать некоторые дополнительные проверки на стороне сервера, чтобы увидеть, если логин должен быть разрешен, на основе времени от последнего входа в систему, но это не должно быть необходимо.
сеанс не должен сохраняться. FF управляет настройками истечения срока действия файлов cookie.
Я не согласен с meandmycode выше.
спецификация HTTP https://www.ietf.org/rfc/rfc6265.txt говорит о том, что клиент должен делать с заголовками Set-Cookie с истекает:
Если сервер хочет, чтобы агент пользователя сохранял файл cookie в течение нескольких "сеансов" (например, перезапуск агента пользователя), сервер может указать дату истечения срока действия в атрибуте Expires. Обратите внимание, что агент пользователя может удалить куки до истечения срока действия, если хранилище cookie агента пользователя превышает его квоту или если пользователь вручную удаляет файл cookie сервера.
логическое расширение этого заключается в том, что единственный способ, которым сервер должен требовать, чтобы браузер не поддерживал Cookie при выходе, - это установить значение No Expires (т. е. cookie сеанса). Если браузер не соблюдает эту семантику, то он не соблюдает ответ сервера.
по существу, агент пользователя решает игнорировать запрос сервера и действовать так, как если бы Значение Expires было установлено.
Ну это приводит меня в замешательство. Моя система настроена так, что пользователи могут нажать EXIT, в результате чего я уничтожаю все сеансовые куки. Но если пользователь закрывает браузер, фактически не выбирая выход, я бы хотел, чтобы файлы cookie сеанса были очищены.
Я на самом деле протестировал его с Google Chrome, IE 9, и работает нормально. Но Firefox неохотно убивает этот" сеанс " (как сообщает Firebug) cookies.
ОК. Вот что я сделал. Я выбрал выход из главного меню FireFox и с тех пор о, не так хорошо, как ожидалось (не знаю почему).