En términos generales, cuando se les da una cookie que no tiene período de caducidad, los navegadores modernos considerarán esta cookie como una 'cookie de sesión', eliminarán la cookie al final de la sesión de navegación (generalmente cuando se cierra la instancia del navegador).
IE, Opera, Safari y Chrome admiten este comportamiento.
Sin embargo, Firefox (versión 3.0.9 más reciente) parece no seguir esta regla, por lo que puedo decir que no expira las cookies cuando se cierra el navegador o cuando el usuario cierra la sesión o reinicia el sistema operativo.
Entonces, ¿por qué Firefox se refiere a estas como cookies de sesión, cuando aparentemente duran indefinidamente?
¿Alguien sabe cómo gestiona Firefox la caducidad de las cookies de sesión?
Respuestas:
Esto aparentemente es por diseño. Mira este error de Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=443354
Firefox tiene una función en la que cierras Firefox y ofrece guardar todas tus pestañas, y luego restauras el navegador y esas pestañas vuelven. Eso se llama restauración de sesión. ¡Lo que no me di cuenta es que también restaurará todas las cookies de sesión para esas páginas! Lo trata como si nunca hubiera cerrado el navegador.
Esto tiene sentido en el sentido de que si su navegador falla, regresa directamente a donde estaba, pero es un poco desconcertante para los desarrolladores web acostumbrados a borrar las cookies de sesión. Tengo algunas cookies de sesión antiguas de hace meses que fueron configuradas por sitios que siempre tengo abiertas en pestañas.
Para probar esto, cierre todas las pestañas de su navegador, luego cierre el navegador y reinícielo. Creo que las cookies de sesión de su sitio deberían borrarse en ese caso. De lo contrario, tendría que desactivar la restauración de la sesión.
fuente
Dos ideas:
fuente
Esto debería funcionar. Solía ser uno de los probadores de módulos de cookies, y no creo que haya ninguna razón de diseño por la que esto se comporte de manera diferente (aunque si falla, las cookies de sesión podrían estar diseñadas para vivir cuando reinicie ...)
¿Está viendo las cookies en el menú "Preferencias"> pestaña "Privacidad"> botón "Mostrar cookies ..."?
Además, ¿has probado un nuevo perfil?
fuente
No estoy de acuerdo conmigo y con mi código anterior.
La especificación HTTP https://www.ietf.org/rfc/rfc6265.txt habla sobre lo que un cliente debe hacer con los encabezados Set-Cookie con Expires:
La extensión lógica de esto es que la ÚNICA forma en que el servidor tiene que exigir que el navegador no mantenga una cookie al salir es establecer un valor sin expiración (es decir, una cookie de sesión). Si un navegador no respeta esa semántica, entonces no respeta la respuesta del servidor.
Básicamente, el agente de usuario decide ignorar la solicitud del servidor y actuar como si se hubiera establecido un valor de Expires.
fuente
Esto es un poco preocupante en entornos de usuarios compartidos. Si configuro una cookie de autenticación que está configurada para caducar al final de la sesión. Esto persistirá en Firefox después de que el navegador se haya cerrado y otro usuario inicie Firefox. Las cookies tienen una fecha de caducidad por una razón.
fuente
Estoy desconcertado de que Mozilla haya dejado esto como está durante varios años.
OK ... así que salgo de FF y apago la PC. Al día siguiente, FF se inicia y abre el último conjunto de páginas (característica útil y agradable) PERO restaura las sesiones y vuelvo a iniciar sesión en sitios que no tienen la función "guardar mi configuración". Lo sé porque son sitios que construí. Independientemente de lo que haga con la configuración de php ini, las sesiones se restauran.
Absolutamente no deben restaurarse. Páginas sí, pero sesiones con cookie ini configuradas en '0' no.
No entiendo por qué esto no está marcado como un agujero de seguridad. Claro que puedo hacer algunas comprobaciones adicionales en el lado del servidor, para ver si se debe permitir un inicio de sesión, según el tiempo desde el último inicio de sesión, pero no debería ser necesario.
Una sesión NO debe persistir. FF está manipulando la configuración de caducidad de las cookies.
fuente
Bueno, me desconcierta. Mi sistema está configurado para que los usuarios puedan presionar EXIT y destruyo todas las cookies de sesión. Pero si un usuario cierra el navegador sin elegir realmente Salir, me gustaría que se borrasen las cookies de sesión.
De hecho, lo probé con Google Chrome, IE 9 y funciona bien. Pero Firefox es reacio a eliminar estas cookies de "sesión" (según lo informado por Firebug).
OKAY. Esto es lo que hice. Elegí Salir del menú principal de FireFox y, a partir de entonces, lo hice bien como esperaba (no sé por qué).
fuente