Вообще говоря, при получении файла cookie, у которого нет срока действия, современные браузеры будут рассматривать этот файл cookie как «файл cookie сеанса» и удаляют этот файл cookie в конце сеанса просмотра (обычно при закрытии экземпляра браузера).
IE, Opera, Safari и Chrome поддерживают это поведение.
Однако firefox (последняя версия 3.0.9), похоже, не следует этому правилу, насколько я могу судить, срок действия файлов cookie не истекает при закрытии браузера или при выходе пользователя из системы или перезапуске ОС.
Итак, почему firefox называет их сеансовыми cookie-файлами, если они существуют, по всей видимости, бесконечно?
Кто-нибудь знает, как Firefox обрабатывает истечение срока действия cookie сеанса?
Ответы:
Очевидно, это сделано специально. Проверьте эту ошибку Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=443354
В Firefox есть функция, с помощью которой вы закрываете Firefox, и он предлагает сохранить все ваши вкладки, а затем вы восстанавливаете браузер, и эти вкладки возвращаются. Это называется восстановлением сеанса. Я не понимал, что он также восстановит все файлы cookie сеанса для этих страниц! Он относится к этому так, как будто вы никогда не закрывали браузер.
Это имеет смысл в том смысле, что если ваш браузер выйдет из строя, вы вернетесь туда, где вы были, но это немного сбивает с толку веб-разработчиков, которые использовали для очистки сеансовых файлов cookie. У меня есть старые файлы cookie сеанса, которые были установлены несколько месяцев назад на сайтах, которые я всегда открывал во вкладках.
Чтобы проверить это, закройте все вкладки в браузере, затем закройте браузер и перезапустите его. Я думаю, что в этом случае файлы cookie сеанса для вашего сайта должны быть удалены. В противном случае вам придется отключить восстановление сеанса.
источник
Две идеи:
источник
Это должно работать. Раньше я был одним из тестировщиков модуля cookie, и я не думаю, что есть какая-то дизайнерская причина, по которой это могло бы вести себя иначе (хотя в случае сбоя файлы cookie сеанса могут быть разработаны для работы при перезапуске ...)
Вы просматриваете файлы cookie в меню «Настройки»> вкладка «Конфиденциальность»> кнопка «Показать файлы cookie ...»?
Кроме того, вы пробовали новый профиль?
источник
Я не согласен со мной и моим кодом выше.
В спецификации HTTP https://www.ietf.org/rfc/rfc6265.txt говорится о том, что клиент должен делать с заголовками Set-Cookie с Expires:
Логическим расширением этого является то, что ЕДИНСТВЕННЫЙ способ, которым сервер должен требовать, чтобы браузер не поддерживал Cookie при выходе, - это установить значение Expires (т.е. cookie сеанса). Если браузер не соблюдает эту семантику, он не учитывает ответ сервера.
По сути, пользовательский агент решает игнорировать запрос сервера и действовать так, как если бы было установлено значение Expires.
источник
Это немного беспокоит в общих пользовательских средах. Если я установил файл cookie аутентификации, срок действия которого истекает в конце сеанса. Это будет сохраняться в Firefox после закрытия браузера и запуска Firefox другим пользователем. Для файлов cookie есть определенная дата истечения срока действия!
источник
Я смущен тем, что Mozilla оставила это как есть на несколько лет.
ОК ... поэтому я выхожу из FF и выключаю компьютер. На следующий день FF запускается и открывает последний набор страниц (приятная удобная функция), НО он восстанавливает сеансы, и я снова захожу на сайты, на которых нет функции «сохранить мои настройки». Я знаю, потому что это сайты, которые я построил. Что бы я ни делал с настройками php ini, сеансы восстанавливаются.
Их категорически не следует восстанавливать. Страницы да, но сеансы с cookie ini, установленным на «0», нет.
Я не понимаю, почему это не помечено как дыра в безопасности. Конечно, я могу выполнить дополнительную проверку на стороне сервера, чтобы увидеть, следует ли разрешить вход в систему, основываясь на времени с момента последнего входа в систему, но в этом нет необходимости.
Сеанс НЕ должен сохраняться. FF манипулирует настройками срока действия файлов cookie.
источник
Меня это смущает. Моя система настроена так, что пользователи могут нажимать EXIT, при этом я уничтожаю все файлы cookie сеанса. Но если пользователь закрывает браузер, не выбрав «Выход», я бы хотел, чтобы файлы cookie сеанса были очищены.
Я действительно тестировал его с Google Chrome, IE 9, и он отлично работает. Но Firefox неохотно убивает куки этого «сеанса» (как сообщает Firebug).
ХОРОШО. Вот что я сделал. Я выбрал «Выход» из главного меню FireFox, и с тех пор все прошло нормально, как и ожидалось (не знаю почему).
источник