Ogólnie rzecz biorąc, jeśli otrzymają plik cookie, który nie ma okresu ważności, nowoczesne przeglądarki uznają ten plik cookie za „plik cookie sesji” i usuwają go na koniec sesji przeglądania (zazwyczaj po zamknięciu wystąpienia przeglądarki).
IE, Opera, Safari i Chrome obsługują to zachowanie.
Jednak Firefox (najnowsza właściwa wersja 3.0.9) wydaje się nie przestrzegać tej reguły, z tego, co wiem, nie wygasa plików cookie po zamknięciu przeglądarki lub po wylogowaniu się lub ponownym uruchomieniu systemu operacyjnego.
Dlaczego więc w programie Firefox są one nazywane plikami cookie sesji, skoro trwają one w nieskończoność?
Czy ktoś wie, jak Firefox obsługuje wygasanie plików cookie sesji?
Odpowiedzi:
Jest to najwyraźniej zgodne z projektem. Sprawdź ten błąd Bugzilli: https://bugzilla.mozilla.org/show_bug.cgi?id=443354
Firefox ma funkcję zamykania Firefoksa i oferuje zapisanie wszystkich kart, a następnie przywrócenie przeglądarki i przywrócenie tych kart. Nazywa się to przywracaniem sesji. Nie zdawałem sobie sprawy, że przywróci również wszystkie pliki cookie sesji dla tych stron! Traktuje to tak, jakbyś nigdy nie zamknął przeglądarki.
Ma to sens w tym sensie, że jeśli Twoja przeglądarka ulegnie awarii, wrócisz do miejsca, w którym byłeś, ale jest to trochę niepokojące dla twórców stron internetowych przyzwyczajonych do usuwania plików cookie sesji. Mam stare sesyjne pliki cookie sprzed miesięcy, które zostały ustawione przez witryny, które zawsze otwieram w kartach.
Aby to przetestować, zamknij wszystkie karty w przeglądarce, a następnie zamknij przeglądarkę i uruchom ją ponownie. Myślę, że w takim przypadku pliki cookie sesji dla Twojej witryny powinny zostać wyczyszczone. W przeciwnym razie musisz wyłączyć przywracanie sesji.
źródło
Dwa pomysły:
źródło
To powinno działać. Kiedyś byłem jednym z testerów modułów cookie i nie sądzę, aby istniał żaden powód, dla którego zachowywałoby się to inaczej (chociaż w przypadku awarii pliki cookie sesji mogą być zaprojektowane tak, aby działały po ponownym uruchomieniu ...)
Czy przeglądasz pliki cookie w menu „Preferencje”> karta „Prywatność”> przycisk „Pokaż pliki cookie ...”?
Czy wypróbowałeś nowy profil?
źródło
Nie zgadzam się z powyższym meandmycode.
Specyfikacja HTTP https://www.ietf.org/rfc/rfc6265.txt mówi o tym, co klient powinien zrobić z nagłówkami Set-Cookie z Expires:
Logicznym rozszerzeniem tego jest to, że JEDYNYM sposobem, w jaki serwer musi wymagać, aby przeglądarka nie utrzymywała pliku cookie przy wyjściu, jest ustawienie żadnej wartości Expires (tj. Pliku cookie sesji). Jeśli przeglądarka nie przestrzega tej semantyki, nie honoruje odpowiedzi serwera.
Zasadniczo agent użytkownika decyduje się zignorować żądanie serwera i działać tak, jakby ustawiono wartość Expires.
źródło
Jest to trochę niepokojące we współdzielonych środowiskach użytkowników. Jeśli ustawię plik cookie uwierzytelniania, który wygasa po zakończeniu sesji. To będzie się utrzymywać w Firefoksie po zamknięciu przeglądarki i uruchomieniu go przez innego użytkownika. Pliki cookie mają ustawioną datę ważności nie bez powodu!
źródło
Jestem zbity z tropu, że Mozilla zostawiła to tak, jak jest przez kilka lat.
OK ... więc rzuciłem FF i wyłączam komputer. Następnego dnia FF uruchamia się i otwiera ostatni zestaw stron (fajna przydatna funkcja) ALE przywraca sesje i jestem ponownie zalogowany do witryn, które nie mają funkcji „zapisz moje ustawienia”. Wiem, ponieważ są to witryny, które zbudowałem. Cokolwiek zrobię z ustawieniami php ini, sesje zostaną przywrócone.
Absolutnie nie należy ich przywracać. Strony tak, ale sesje z plikiem cookie ini ustawionym na „0” nie.
Nie rozumiem, dlaczego nie jest to oznaczone jako luka w zabezpieczeniach. Oczywiście, mogę przeprowadzić dodatkowe sprawdzenie po stronie serwera, aby sprawdzić, czy logowanie powinno być dozwolone, na podstawie czasu od ostatniego logowania, ale nie powinno być potrzebne.
Sesja NIE powinna trwać. FF manipuluje ustawieniami wygaśnięcia plików cookie.
źródło
Cóż, jest to dla mnie niepokojące. Mój system jest skonfigurowany tak, że użytkownicy mogą nacisnąć EXIT, po czym niszczę wszystkie sesyjne pliki cookie. Ale jeśli użytkownik zamknie przeglądarkę, nie wybierając wyjścia, chcę wyczyścić pliki cookie sesji.
Właściwie przetestowałem to z Google Chrome, IE 9 i działa dobrze. Jednak Firefox niechętnie zabija te pliki cookie „sesji” (jak donosi Firebug).
DOBRZE. To właśnie zrobiłem. Wybrałem Exit z głównego menu FireFox i od tego momentu robiłem to dobrze zgodnie z oczekiwaniami (nie wiem dlaczego).
źródło