0Pricing
Flask Academy · レッスン

SECRET_KEYと署名付きCookie

Flaskがセッションデータに安全に署名する仕組みを学びます

「SECRET_KEYと署名付きCookie」はCoddyKit上の無料Flask Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これは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時間対応のAIチューター)、Flask Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Flask Academyコースには全4レッスンが含まれています。

「SECRET_KEYと署名付きCookie」で何を学びますか?

Flaskがセッションデータに安全に署名する仕組みを学びます ブラウザで直接実行するハンズオンコードでFlask Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Flask Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのFlask Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「SECRET_KEYと署名付きCookie」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このFlask Academyレッスンでコードを書いて実行できますか?

はい。すべてのFlask Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. session辞書を設定して読み取る
  2. SECRET_KEYと署名付きCookie
  3. レスポンスにカスタムCookieを設定する
  4. リクエスト間でフラッシュメッセージを渡す
← Flask Academyに戻る