Flask Academy · Lektion

SECRET_KEY und signierte Cookies

Wie Flask Session-Daten sicher signiert.

Lektion 2 von 413 Schritte

SECRET_KEY und signierte Cookies ist eine kostenlose Flask Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Flask Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Wo Sessions gespeichert werden

Standardmäßig speichert Flask die gesamte Session in einem Cookie im Browser des Benutzers und nicht auf Ihrem Server. Das hat wichtige Folgen.

Das Problem der Manipulation

Wenn Daten im Browser liegen, könnte ein Benutzer sie ändern. Flask verhindert dies, indem es das Cookie signiert, sodass Änderungen erkannt werden können.

Lernen Sie SECRET_KEY kennen

Zum Signieren wird ein Geheimnis benötigt. SECRET_KEY ist der private Wert, den Flask zum Signieren und Überprüfen jedes Session-Cookies verwendet. 🔑

app.config['SECRET_KEY'] = 'change-me'

Kein Schlüssel, keine Sessions

Wenn Sie die Session ohne gesetzten SECRET_KEY verwenden, löst Flask einen RuntimeError aus. Ohne Schlüssel kann Flask nichts signieren.

Signiert, nicht verschlüsselt

Wichtig: Ein standardmäßiges Session-Cookie ist signiert, nicht verschlüsselt. Jeder kann es lesen. Speichern Sie daher niemals echte Geheimnisse darin.

So überprüft das Signieren

Bei jeder Anfrage berechnet Flask die Signatur aus dem Cookie und dem Schlüssel neu. Eine Abweichung bedeutet Manipulation, daher wird die Session abgelehnt.

Lang und zufällig erstellen

Ein sicherer SECRET_KEY sollte lang und nicht vorhersehbar sein. Erzeugen Sie ihn mit dem secrets-Modul, statt ein Wort einzugeben.

import secrets
key = secrets.token_hex(32)

Nie in Git fest eintragen

Halten Sie den SECRET_KEY aus der Versionsverwaltung heraus. Laden Sie ihn aus einer Umgebungsvariablen, damit jeder Deploy seinen eigenen Wert hat.

import os
app.config['SECRET_KEY'] = os.environ['SECRET_KEY']

Den Schlüssel rotieren

Wenn Sie den SECRET_KEY ändern, stimmen keine bestehenden Session-Signaturen mehr überein. Alle Benutzer werden gleichzeitig abgemeldet.

Überall denselben Schlüssel

Betreiben Sie mehrere App-Instanzen hinter einem Load Balancer? Sie müssen denselben SECRET_KEY verwenden, sonst lehnt jede Instanz die Cookies der anderen ab.

Alternative auf der Serverseite

Benötigen Sie größere oder verborgene Session-Daten? Erweiterungen wie Flask-Session speichern sie auf dem Server und legen nur eine ID im Cookie ab.

Kurzer Check

Überlegen Sie, was das standardmäßige Flask-Session-Cookie tatsächlich schützt.

Zusammenfassung

Sie haben gesehen, dass SECRET_KEY Session-Cookies signiert, um Manipulationen zu erkennen. Halten Sie ihn lang, laden Sie ihn aus der Umgebung und übertragen Sie ihn niemals ins Repository. 🔐

Kostenlos starten

Lerne Python mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „SECRET_KEY und signierte Cookies“ kostenlos?

Ja — der vollständige Text von „SECRET_KEY und signierte Cookies“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Flask Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „SECRET_KEY und signierte Cookies“?

Wie Flask Session-Daten sicher signiert. Du übst Flask Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Flask Academy zu starten?

Keine Vorkenntnisse erforderlich. Flask Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „SECRET_KEY und signierte Cookies“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Flask Academy-Lektion Code schreiben und ausführen?

Ja. Jede Flask Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Das session-Dictionary setzen und lesen
  2. SECRET_KEY und signierte Cookies
  3. Benutzerdefinierte Cookies in einer Antwort setzen
  4. Flash-Nachrichten zwischen Requests
← Zurück zu Flask Academy