Borrado seguro de cookies

4

¿Hay algún tipo de procedimiento oficialmente definido (por ejemplo, de IETF) sobre cómo desactivar correctamente una cookie?

Siempre he considerado la mejor práctica para desactivar las cookies de sesión al cerrar sesión en una aplicación web. Hago esto configurando la cookie de "sesión" en un valor en blanco, con una fecha de caducidad en el pasado y el indicador de seguridad establecido en falso. Mi idea es que "si por algún truco hubiera una cookie de sesión no segura, también se desactivará".

¿Es esta una buena práctica?

    
pregunta DarthCaniac 22.03.2016 - 22:23
fuente

2 respuestas

5

La dificultad aquí es que el cliente es responsable de borrar el valor de la cookie (ya sea que tenga un token de sesión o no). Desde el extremo del servidor, todo lo que puede hacer es esperar que la cookie se borre según lo solicite. Eso no es realmente muy definible: por definición, los clientes que no cumplen con las normas no obedecen, por lo que mantendrían el token de la sesión.

La solución, por lo tanto, es eliminar el valor de la cookie por cualquier medio que pueda considerar válido (configurarlo para que caduque en el pasado, vaciarlo, establecer una cookie de sesión ficticia o lo que sea), y caduque el token de sesión en el lado del servidor.

Usted controla si el servidor trata la cookie de sesión provista como un token válido, por lo que debe asegurarse de que no lo haga. En ese momento, no importa lo que haga el cliente, e incluso puede elegir "no válido". "se proporcionaron tokens de sesión como una indicación de que algo salió mal - ya sea que el usuario ha cambiado el valor de la sesión, el cliente no se ha eliminado correctamente o es un intento de usar una sesión anterior (tal vez la computadora haya estado en hibernación con el sitio abrir, y se ha producido el tiempo de espera de su sesión).

    
respondido por el Matthew 22.03.2016 - 22:59
fuente
1

Encontré una respuesta a la primera parte de mi pregunta que pensé que compartiría aquí.

RFC 6265 (Página 8) indica que:

  

Finalmente, para eliminar una cookie, el servidor devuelve un encabezado Set-Cookie      con una fecha de caducidad anterior. El servidor tendrá éxito      en la eliminación de la cookie solo si la ruta y el atributo de dominio en      el encabezado Set-Cookie coincide con los valores utilizados cuando la cookie era      creado.

    
respondido por el DarthCaniac 30.03.2016 - 17:37
fuente

Lea otras preguntas en las etiquetas