Cosa sono le variabili d'ambiente
Cosa sono le variabili d'ambiente spiegate semplice: a cosa servono, perché tenere i segreti fuori dal codice, come si usano i file .env e le buone pratiche di sicurezza.
Le variabili d'ambiente sono uno di quei concetti che ogni sviluppatore incontra appena inizia a costruire qualcosa di reale, soprattutto quando entrano in gioco chiavi segrete e configurazioni. In questo articolo ti spiego cosa sono le variabili d'ambiente, a cosa servono e come usarle bene, in modo semplice.
Cosa sono le variabili d'ambiente in parole semplici
Le variabili d'ambiente sono valori di configurazione che vivono fuori dal codice dell'applicazione e vengono forniti dall'ambiente in cui il programma gira. Servono a tenere separati il codice e le configurazioni, in particolare quelle che cambiano da un ambiente all'altro o che devono restare segrete.
In pratica, invece di scrivere direttamente nel codice cose come una password del database o una chiave API, le metti in variabili d'ambiente, che il programma legge quando parte.
Perché esistono: due problemi che risolvono
1. Tenere i segreti fuori dal codice
Questo è il motivo più importante. Chiavi API, password, token di accesso non devono mai finire nel codice che carichi su GitHub. Se lo fai, chiunque veda il codice ha accesso ai tuoi segreti, con conseguenze potenzialmente disastrose. Le variabili d'ambiente tengono questi valori separati e protetti.
2. Gestire ambienti diversi
La stessa applicazione gira in contesti diversi: sul tuo computer (sviluppo), in test, in produzione. Ognuno ha configurazioni diverse: database diversi, URL diversi, impostazioni diverse. Le variabili d'ambiente permettono di cambiare questi valori senza toccare il codice: lo stesso codice si comporta in modo appropriato in ogni ambiente.
Come si usano: il file .env
Nella pratica dello sviluppo, le variabili d'ambiente si gestiscono spesso con un file chiamato .env. È un semplice file di testo con coppie nome-valore:
DATABASE_URL=...
API_KEY=...
DEBUG=true
L'applicazione legge questo file all'avvio e rende disponibili quei valori al codice. Comodo perché tieni tutte le configurazioni in un posto, separate dalla logica.
La regola d'oro: mai committare i segreti
Ecco la cosa più importante di tutto l'articolo. Il file .env con i segreti non va mai caricato su Git. Per questo si aggiunge sempre a un file chiamato .gitignore, che dice a Git di ignorarlo.
La buona pratica diffusa è:
- Tieni il vero
.env(con i segreti) solo in locale, mai su Git. - Crea un file di esempio (
.env.example) con i nomi delle variabili ma senza valori reali, da condividere come modello.
Innumerevoli incidenti di sicurezza nascono da chiavi segrete finite per errore su repository pubblici. Non commettere questo errore.
Buone pratiche
- Mai segreti nel codice: sempre in variabili d'ambiente.
.envnel.gitignore: sempre, senza eccezioni.- Nomi chiari e maiuscoli: per convenzione, le variabili d'ambiente si scrivono in
MAIUSCOLO_CON_UNDERSCORE. - In produzione, usa i sistemi del provider: le piattaforme di hosting offrono modi sicuri per impostare le variabili d'ambiente, senza file
.env.
In sintesi
Le variabili d'ambiente sono valori di configurazione che vivono fuori dal codice, forniti dall'ambiente in cui il programma gira. Servono soprattutto a tenere i segreti (chiavi, password) fuori dal codice e a gestire configurazioni diverse tra sviluppo e produzione. Si usano spesso tramite file .env, che non va mai caricato su Git. Sono una pratica fondamentale di sicurezza e organizzazione.
Per i concetti collegati, vedi cos'è Git e come rendere un sito web sicuro.