Flask Academy · Lektion

SECRET_KEY og signerede cookies

Forstå, hvordan Flask signerer session-data sikkert.

Lektion 2 af 413 trin

SECRET_KEY og signerede cookies er en gratis Flask Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Flask Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Flask Academy-kurset indeholder 4 lektioner i alt.

Hvor sessioner gemmes

Som standard gemmer Flask hele sessionen i en cookie i brugerens browser, ikke på din server. Det har store konsekvenser.

Problemet med manipulation

Hvis dataene ligger i browseren, kan en bruger redigere dem. Flask forhindrer det ved at signere cookien, så ændringer kan opdages.

Mød SECRET_KEY

Signering kræver en hemmelighed. SECRET_KEY er den private værdi, Flask bruger til at stemple og kontrollere hver sessionscookie. 🔑

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

Ingen nøgle, ingen sessioner

Hvis du bruger sessionen uden at have angivet en SECRET_KEY, udløser Flask en RuntimeError. Den nægter at signere uden en nøgle.

Signeret, ikke krypteret

Vigtigt: En standardsessionscookie er signeret, ikke krypteret. Alle kan læse den, så gem aldrig egentlige hemmeligheder i den.

Sådan kontrollerer signeringen

Ved hver forespørgsel beregner Flask signaturen igen ud fra cookien og nøglen. En uoverensstemmelse betyder manipulation, så sessionen afvises.

Gør den lang og tilfældig

En stærk SECRET_KEY bør være lang og uforudsigelig. Generer en med modulet secrets i stedet for at skrive et ord.

import secrets
key = secrets.token_hex(32)

Hardcod den aldrig i Git

Hold SECRET_KEY ude af kildekodestyringen. Indlæs den fra en miljøvariabel, så hver udrulning har sin egen værdi.

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

Rotation af nøglen

Ændr SECRET_KEY, så holder ingen eksisterende sessionsignatur længere. Alle brugere bliver logget ud på én gang.

Samme nøgle overalt

Kører du flere appinstanser bag en load balancer? De skal dele én SECRET_KEY, ellers afviser hver instans de andres cookies.

Alternativ på serversiden

Har du brug for større eller skjulte sessionsdata? Udvidelser som Flask-Session gemmer dem på serveren og gemmer kun et id i cookien.

Hurtigt tjek

Tænk over, hvad Flask-standardsessionscookien faktisk beskytter.

Opsummering

Du har set, at SECRET_KEY signerer sessionscookies for at opdage manipulation. Gør den lang, indlæs den fra miljøet, og commit den aldrig. 🔐

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “SECRET_KEY og signerede cookies” gratis?

Ja — hele teksten til “SECRET_KEY og signerede cookies” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Flask Academy-kurset, skal du opgradere til CoddyKit PRO. Flask Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “SECRET_KEY og signerede cookies”?

Forstå, hvordan Flask signerer session-data sikkert. Du øver dig i Flask Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Flask Academy?

Der kræves ingen tidligere erfaring. Flask Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “SECRET_KEY og signerede cookies”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Flask Academy-lektion?

Ja. Alle Flask Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Angiv og læs session-dict'en
  2. SECRET_KEY og signerede cookies
  3. Angiv brugerdefinerede cookies på et response
  4. Flash-beskeder mellem requests
← Tilbage til Flask Academy