SECRET_KEY и подписанные файлы cookie
Узнайте, как Flask безопасно подписывает данные сеанса.
«SECRET_KEY и подписанные файлы cookie» — бесплатный урок Flask Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
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. 🔐
Часто задаваемые вопросы
Урок «SECRET_KEY и подписанные файлы cookie» бесплатный?
Да — полный текст урока «SECRET_KEY и подписанные файлы cookie» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.
Чему я научусь в уроке «SECRET_KEY и подписанные файлы cookie»?
Узнайте, как Flask безопасно подписывает данные сеанса. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Flask Academy?
Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «SECRET_KEY и подписанные файлы cookie»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Flask Academy?
Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Запись и чтение словаря session
- SECRET_KEY и подписанные файлы cookie
- Установка пользовательских файлов cookie в ответе
- Одноразовые сообщения между запросами