Secara umum, ketika diberikan cookie yang tidak memiliki masa kedaluwarsa, browser modern akan menganggap cookie ini sebagai 'cookie sesi', mereka akan menghapus cookie di akhir sesi penjelajahan (umumnya saat browser ditutup).
IE, Opera, Safari, dan Chrome semuanya mendukung perilaku ini.
Namun firefox (rilis terbaru 3.0.9 yang benar) tampaknya tidak mengikuti aturan ini, dari apa yang saya tahu itu tidak akan mengakhiri cookie ketika browser ditutup, atau ketika pengguna log off atau restart OS ..
Jadi, mengapa firefox menyebut ini sebagai cookie sesi, ketika mereka bertahan tanpa batas waktu?
Adakah yang tahu bagaimana Firefox menangani kadaluwarsa cookie sesi?
Jawaban:
Ini tampaknya memang disengaja. Lihat bug Bugzilla ini: https://bugzilla.mozilla.org/show_bug.cgi?id=443354
Firefox memiliki fitur di mana Anda menutup Firefox dan menawarkan untuk menyimpan semua tab Anda, lalu Anda memulihkan browser dan tab tersebut kembali. Itu disebut pemulihan sesi. Apa yang tidak saya sadari adalah bahwa itu juga akan memulihkan semua cookie sesi untuk halaman-halaman itu juga! Ini memperlakukannya seperti Anda tidak pernah menutup browser.
Ini masuk akal dalam arti bahwa jika browser Anda rusak Anda langsung kembali ke tempat Anda sebelumnya, tetapi sedikit membingungkan untuk pengembang web yang terbiasa dengan cookie sesi dibersihkan. Saya mendapat beberapa cookie sesi lama dari bulan lalu yang ditetapkan oleh situs yang selalu saya buka di tab.
Untuk mengujinya, tutup semua tab di browser Anda, lalu tutup browser dan mulai ulang. Saya pikir cookie sesi untuk situs Anda harus dihapus dalam kasus itu. Jika tidak, Anda harus mematikan pemulihan sesi.
sumber
Dua gagasan:
sumber
Ini seharusnya berhasil. Saya dulunya adalah salah satu penguji modul cookie, dan menurut saya tidak ada alasan desain mengapa ini akan berperilaku berbeda (meskipun jika Anda mogok, cookie sesi mungkin dirancang untuk tetap aktif saat Anda memulai ulang ...)
Apakah Anda melihat cookie di menu "Preferensi"> Tab "Privasi"> tombol "Tampilkan Cookie ..."?
Selain itu, apakah Anda sudah mencoba profil baru?
sumber
Saya tidak setuju dengan meandmycode di atas.
Spesifikasi HTTP https://www.ietf.org/rfc/rfc6265.txt berbicara tentang apa yang harus dilakukan klien dengan header Set-Cookie dengan Expires:
Perpanjangan logis dari ini adalah bahwa satu-satunya cara server harus mengharuskan browser tidak memelihara Cookie saat keluar adalah dengan menetapkan tidak ada nilai Kedaluwarsa (yaitu cookie sesi). Jika browser tidak menghormati semantik itu maka itu tidak menghormati respon server.
Pada dasarnya agen pengguna memutuskan untuk mengabaikan permintaan server dan bertindak seolah-olah nilai Kedaluwarsa telah ditetapkan.
sumber
Ini sedikit masalah di lingkungan pengguna bersama. Jika saya menetapkan cookie otentikasi yang diatur untuk kedaluwarsa di akhir sesi. Ini akan tetap ada di Firefox setelah browser ditutup dan pengguna lain menjalankan Firefox. Cookie ditetapkan dengan tanggal kedaluwarsa karena suatu alasan!
sumber
Saya bingung Mozilla membiarkannya seperti ini selama beberapa tahun.
OK .. jadi saya keluar dari FF dan mematikan PC. Hari berikutnya FF dimulai dan membuka set halaman terakhir (fitur berguna yang bagus) TAPI ia mengembalikan sesi dan saya masuk kembali ke situs yang tidak memiliki fitur "simpan pengaturan saya". Saya tahu karena itu adalah situs yang saya buat. Apa pun yang saya lakukan dengan pengaturan php ini sesi dipulihkan.
Mereka sama sekali tidak boleh dipulihkan. Halaman ya, tapi sesi dengan cookie ini disetel ke '0' tidak.
Saya tidak mengerti mengapa ini tidak ditandai sebagai lubang keamanan. Tentu saya dapat melakukan beberapa pemeriksaan tambahan di sisi server, untuk melihat apakah login harus diizinkan, berdasarkan waktu dari login terakhir, tetapi seharusnya tidak diperlukan.
Sesi TIDAK boleh berlanjut. FF memanipulasi pengaturan kadaluwarsa cookie.
sumber
Yah, itu membingungkan saya. Sistem saya diatur sehingga pengguna dapat menekan KELUAR di mana saya menghancurkan semua cookie sesi. Namun jika pengguna menutup browser tanpa benar-benar memilih untuk Keluar, saya ingin cookie sesi dihapus.
Saya benar-benar mengujinya dengan Google Chrome, IE 9, dan berfungsi dengan baik. Tetapi Firefox enggan menghentikan cookie "sesi" ini (seperti yang dilaporkan oleh Firebug).
BAIK. Inilah yang saya lakukan. Saya memilih Keluar dari menu utama FireFox dan sejak saat itu, melakukannya dengan baik seperti yang diharapkan (Tidak tahu mengapa).
sumber