http - eliminar - como borrar las cookies del navegador google chrome
Forma correcta de eliminar las cookies del lado del servidor (3)
¿Por qué no establecer el maxAge de la cookie <0
// MaxAge=0 means no ''Max-Age'' attribute specified.
// MaxAge<0 means delete cookie now, equivalently ''Max-Age: 0''
// MaxAge>0 means Max-Age attribute present and given in seconds
MaxAge int
Para mi proceso de autenticación, uso py-bcrypt para crear un token único cuando un usuario inicia sesión y lo coloca en una cookie que se usa para la autenticación.
Así que enviaría algo como esto desde el servidor:
Set-Cookie: token=$2a$12$T94df7ArHkpkX7RGYndcq.fKU.oRlkVLOkCBNrMilaSWnTcWtCfJC; path=/;
Que funciona en todos los navegadores Luego, para eliminar una cookie, envío una cookie similar con el campo de expires
establecido para el 1 de enero de 1970.
Set-Cookie: token=$2a$12$T94df7ArHkpkX7RGYndcq.fKU.oRlkVLOkCBNrMilaSWnTcWtCfJC; path=/; expires=Thu, Jan 01 1970 00:00:00 UTC;
Y eso funciona bien en Firefox, pero no elimina la cookie en IE o Safari.
Entonces, ¿cuál es la mejor manera de eliminar una cookie (preferiblemente sin JavaScript)? El método set-the-expires-in-the-past parece voluminoso. Y también, ¿por qué funciona esto en FF pero no en IE o Safari?
Enviar el mismo valor de cookie con ; expires
; expires
adjunto no destruirá la cookie.
Invalide la cookie estableciendo un valor vacío e incluya un campo expires
también:
Set-Cookie: token=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
Tenga en cuenta que no puede obligar a todos los navegadores a eliminar una cookie. El cliente puede configurar el navegador de tal manera que la cookie persista, incluso si ha caducado. Establecer el valor como se describe arriba resolvería este problema.
Establecer "caduca" a una fecha pasada es la forma estándar de eliminar una cookie.
Su problema probablemente se deba a que el formato de fecha no es convencional. IE probablemente solo espera GMT.