Tal y como vimos en el artículo Sesión en Flask, tenemos una Clave de sesión Flask para poder crear una cookie con la información de la sesión. Y es que Flask utiliza el mecanismo de cookies para disponer de la información entre cada una de las peticiones que realiza el usuario.
Para crear la clave de sesión Flask utilizamos el siguiente código:
app.secret_key = 'esto-es-una-clave-muy-secreta'
A partir de ese momento Flask utilizará esta clave para poder cifrar la información de la cookie.
En este punto la pregunta es, ¿debería de cifrar todas las cookies con la misma clave? La respuesta obviamente es no, es decir, deberíamos de intentar cifrar con diferentes claves a los usuarios.
Para poder resolver esto podemos a la librería del sistema operativo os
y utilizar un método de generación aleatoria como es .urandom()
Lo primero de todo será importar la libreria del sistema:
import os
Ahora simplemente deberemos de asignar a la clave de sesión Flask el valor del método .urandom()
. Hay que tener en cuenta que el método .urandom()
tiene como valor el número de bytes que queremos devolver. El contenido que devuelve es una cadena.
app.secret_key = os.urandom(24)
De esta forma conseguiremos que la clave de cifrado utilizada como clave de sesión en Flask sea totalmente aleatoria y consigamos así un buen cifrado de la cookie.