Last inn hemmeligheter fra miljøvariabler
Hold nøkler utenfor kildekoden med miljøvariabler.
Last inn hemmeligheter fra miljøvariabler er en gratis leksjon i Flask Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Flask Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Flask Academy inneholder totalt 4 leksjoner.
Hemmeligheter hører ikke hjemme i kode
API-nøkler og passord som limes inn i kildefiler, lekker straks De sender dem til Git. Hold hemmeligheter helt utenfor repositoriet.
Tolvfaktorideen
tolvfaktor-tilnærmingen lagrer konfigurasjon i miljøet, slik at den samme koden kan leveres overalt uten endringer.
Les én med os.environ
Bruk os.environ til å lese en variabel. Den utløser en tydelig feil hvis nøkkelen mangler, noe som passer godt for obligatoriske hemmeligheter.
import os
key = os.environ["SECRET_KEY"]Valgfrie verdier med get
Bruk os.environ.get for valgfrie innstillinger, og oppgi en reserveverdi slik at appen fortsatt starter i utviklingsmiljøet.
debug = os.environ.get("DEBUG", "0")Koble det inn i en konfigurasjonsklasse
Les miljøvariabler direkte i Config-klassen, slik at hvert miljø henter hemmelighetene sine fra systemet, ikke fra kildekoden.
SECRET_KEY = os.environ.get("SECRET_KEY")Sett en variabel i skallet
På maskinen Deres kan De exportere verdien før kjøring. Prosessen arver den, og Flask leser den inn.
export SECRET_KEY=super-secretAlt er en streng
Miljøvariabler kommer inn som strenger. Konverter tall og boolske verdier selv, siden "0" regnes som sann i Python.
port = int(os.environ.get("PORT", "5000"))Stans raskt ved manglende hemmeligheter
I produksjon bør en manglende hemmelighet føre til krasj ved oppstart, ikke halvveis. Bruk Fail fast, slik at problemet blir tydelig med én gang.
if not SECRET_KEY:
raise RuntimeError("SECRET_KEY required")Hvor plattformen setter dem
Vertsplattformer som Heroku, Docker og Kubernetes injiserer miljøvariabler ved utrulling, slik at ingen hemmelighet ligger i imaget.
Generer en sterk nøkkel
En SECRET_KEY bør være lang og tilfeldig. Generer en med secrets.token_hex, og lagre den som en miljøvariabel.
import secrets
secrets.token_hex(32)Logg aldri en hemmelighet
Unngå å skrive ut konfigurasjon som inneholder hemmeligheter. En tilfeldig logglinje i et kontrollpanel avslører verdien De prøvde å beskytte.
Hurtigsjekk
Hvordan bør De håndtere en obligatorisk hemmelighet som mangler i produksjon?
Oppsummering: Hemmeligheter i miljøet
De leste hemmeligheter fra os.environ, ga valgfrie verdier standardverdier, konverterte typer og stanset raskt når obligatoriske nøkler manglet. 🔐
Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Last inn hemmeligheter fra miljøvariabler» gratis?
Ja – hele teksten i «Last inn hemmeligheter fra miljøvariabler» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Flask Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Flask Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Last inn hemmeligheter fra miljøvariabler»?
Hold nøkler utenfor kildekoden med miljøvariabler. Du øver på Flask Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Flask Academy?
Ingen tidligere erfaring er nødvendig. Flask Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Last inn hemmeligheter fra miljøvariabler»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Flask Academy-leksjonen?
Ja. Alle Flask Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Konfigurasjonsklasser per miljø
- Last inn hemmeligheter fra miljøvariabler
- Bruk dotenv i utvikling
- Slå av og på feilsøking og feature flags