SECRET_KEY y cookies firmadas
Descubra cómo Flask firma los datos de sesión de forma segura.
SECRET_KEY y cookies firmadas es una lección gratuita de Flask Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Flask Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Flask Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Where Sessions Live
By default Flask stores the whole session inside a cookie in the user's browser, not on your server. That has big implications.
The Tampering Problem
If data lives in the browser, a user could edit it. Flask stops that by signing the cookie so changes are detectable.
Meet the SECRET_KEY
Signing needs a secret. The SECRET_KEY is the private value Flask uses to stamp and verify every session cookie. 🔑
app.config['SECRET_KEY'] = 'change-me'No Key, No Sessions
Touch the session without a SECRET_KEY set and Flask raises a RuntimeError. It refuses to sign with nothing.
Signed, Not Encrypted
Important: a default session cookie is signed, not encrypted. Anyone can read it, so never store true secrets inside.
How Signing Verifies
On each request Flask recomputes the signature from the cookie and the key. A mismatch means tampering, so the session is rejected.
Make It Long and Random
A strong SECRET_KEY should be long and unpredictable. Generate one with the secrets module rather than typing a word.
import secrets
key = secrets.token_hex(32)Never Hardcode in Git
Keep the SECRET_KEY out of source control. Load it from an environment variable so each deploy has its own value.
import os
app.config['SECRET_KEY'] = os.environ['SECRET_KEY']Rotating the Key
Change the SECRET_KEY and every existing session signature stops matching. All users get logged out at once.
Same Key Everywhere
Run several app instances behind a load balancer? They must share one SECRET_KEY or each will reject the others' cookies.
Server-Side Alternative
Need bigger or hidden session data? Extensions like Flask-Session keep it on the server and store only an id in the cookie.
Quick Check
Think about what the default Flask session cookie actually protects.
Recap
You saw that SECRET_KEY signs session cookies to catch tampering. Make it long, load it from the environment, and never commit it. 🔐
Preguntas frecuentes
¿La lección «SECRET_KEY y cookies firmadas» es gratis?
Sí — el texto completo de «SECRET_KEY y cookies firmadas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Flask Academy, actualiza a CoddyKit PRO. El curso de Flask Academy incluye 4 lecciones en total.
¿Qué aprenderé en «SECRET_KEY y cookies firmadas»?
Descubra cómo Flask firma los datos de sesión de forma segura. Practicas Flask Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Flask Academy?
No se requiere experiencia previa. Flask Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «SECRET_KEY y cookies firmadas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Flask Academy?
Sí. Cada lección de Flask Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Establezca y lea el diccionario session
- SECRET_KEY y cookies firmadas
- Establezca cookies personalizadas en una respuesta
- Mensajes flash entre solicitudes