sessions form example python cookies flask

python - form - sessions flask example



Frasco: ¿Cómo eliminar las cookies? (3)

Configuré las cookies con el código sugerido en los documentos:

from flask import make_response @app.route(''/'') def index(): resp = make_response(render_template(...)) resp.set_cookie(''username'', ''the username'') return resp

Pero, ¿cómo los elimino? No hay método remove_cookie. Lo intenté:

if request.cookies.get(''sessionID''); request.cookies.pop(''sessionID'', None)

pero resulta que el objeto request.cookies es inmutable. ¿Qué debo hacer?


Debe configurar la cookie con una fecha de caducidad anterior.

resp = make_response(render_template(...)) resp.set_cookie(''username'', expires=0) return resp

Por cierto, espero que no esperes que la cookie de nombre de usuario sea segura. Porque no lo es. El usuario puede poner todo lo que quiera allí. La solución suele ser utilizar la sesión de Flask, que utiliza una cookie firmada que el usuario no puede modificar.


No hay un encabezado HTTP para eliminar una cookie. Tradicionalmente, simplemente establece la cookie en un valor ficticio con una fecha de caducidad en el pasado, por lo que expira inmediatamente.

resp.set_cookie(''sessionID'', '''', expires=0)

Esto establecerá la cookie de identificación de sesión en una cadena vacía que expira en unixtime 0 , que es casi seguro en el pasado.


Podemos hacer que delete_cookie () esté disponible en flask.Response.

resp.delete_cookie(''username'')

Esto borrará la cookie en respuesta. Aquí está la documentación de delete_cookie .

También es posible que desee agregar ruta (conjunto predeterminado a ''/'') y dominio (predeterminado a ninguno).

resp.delete_cookie(''username'', path=''/'', domain=''yourdomain.com'')

Aquí está la captura de pantalla del intérprete que muestra el objeto delete_cookie en flask.Response.