Flask Academy · Lektion

Läs in hemligheter från miljövariabler

Håll nycklar borta från källkoden med miljövariabler.

Lektion 2 av 413 steg

Läs in hemligheter från miljövariabler är en gratis lektion i Flask Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Flask Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Flask Academy innehåller totalt 4 lektioner.

Hemligheter hör inte hemma i koden

API-nycklar och lösenord som klistras in i källfiler läcker så snart du pushar till Git. Håll secrets helt utanför ditt repository.

Tolvfaktorsprincipen

Den twelve-factor-baserade metoden lagrar konfigurationen i miljön, så att samma kod kan distribueras överallt utan ändringar.

Läs en med os.environ

Använd os.environ för att läsa en variabel. Ett tydligt fel uppstår om nyckeln saknas, vilket passar bra för obligatoriska hemligheter.

import os
key = os.environ["SECRET_KEY"]

Valfria värden med get

Använd os.environ.get för valfria inställningar och ange ett standardvärde, så att appen fortfarande startar under utveckling.

debug = os.environ.get("DEBUG", "0")

Koppla in det i en config-klass

Läs miljövariabler direkt i din Config-klass, så att varje miljö hämtar sina hemligheter från systemet i stället för från källkoden.

SECRET_KEY = os.environ.get("SECRET_KEY")

Ange en variabel i skalet

På din dator använder du export för att ange värdet innan du kör programmet. Processen ärver det och Flask läser in det.

export SECRET_KEY=super-secret

Allt är en sträng

Miljövariabler kommer in som strings. Konvertera själv tal och booleska värden, eftersom "0" räknas som sant i Python.

port = int(os.environ.get("PORT", "5000"))

Avsluta direkt om hemligheter saknas

I produktion bör en hemlighet som saknas orsaka ett fel vid starten, inte halvvägs genom körningen. Använd Fail fast, så blir problemet omedelbart tydligt.

if not SECRET_KEY:
    raise RuntimeError("SECRET_KEY required")

Var plattformen anger dem

Värdtjänster som Heroku, Docker och Kubernetes injicerar env vars vid driftsättningen, så att ingen hemlighet behöver finnas i din image.

Generera en stark nyckel

En SECRET_KEY bör vara lång och slumpmässig. Generera en med secrets.token_hex och lagra den som en miljövariabel.

import secrets
secrets.token_hex(32)

Logga aldrig en hemlighet

Undvik att skriva ut konfiguration som innehåller secrets. En enstaka loggrad i en dashboard kan avslöja värdet du försökte skydda.

Snabb kontroll

Hur ska du hantera en obligatorisk hemlighet som saknas i produktion?

Sammanfattning: miljöhemligheter

Du läste hemligheter från os.environ, gav valfria värden standardvärden, konverterade typer och avslutade direkt när obligatoriska nycklar saknades. 🔐

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Läs in hemligheter från miljövariabler” gratis?

Ja – hela texten till ”Läs in hemligheter från miljövariabler” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Flask Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Flask Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Läs in hemligheter från miljövariabler”?

Håll nycklar borta från källkoden med miljövariabler. Ni övar på Flask Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Flask Academy?

Du behöver inga förkunskaper. Utbildningen i Flask Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Läs in hemligheter från miljövariabler”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Flask Academy-lektionen?

Ja. Varje Flask Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Konfigurationsklasser per miljö
  2. Läs in hemligheter från miljövariabler
  3. Använd dotenv under utveckling
  4. Växla felsökning och feature flags
← Tillbaka till Flask Academy