Su server dedicato possiamo disinteressarci di diversificare i dati di sessione a seconda dell'applicazione Web.
Teniamo quindi validi:
session.save_handler = files // i dati della sessione vengono salvati su file, lato server
session.save_path = /tmp // i file verranno salvati in /tmp. Assicurarsi che l'utente con cui gira PHP vi abbia i permessi di lettura/scrittura/esecuzione).
Così facendo, però, tutte le applicazioni nel sistema e tutti gli utenti avranno accesso a questi file: è quindi cosa buona e giusta salvare i file di sessione in sottodirectory di /tmp
che siano visibili dal solo utente di PHP, ad esempio: /tmp/phpsessions/
ma facendo attenzione: file e directory in /tmp
possono infatti essere rimosse ad ogni riavvio del sistema.
session.use_cookies
Il default è 1 (attivo). Manteniamo il default, preferendo i cookies come metodo di salvataggio della sessione lato client rispetto al session identifier passato via query string. Usiamo anche session.use_only_cookies = 1
, che disabilita completamente la possibilità di inviare il SID in GET per evitare ogni tentativo non previsto di uso improprio delle sessioni.
session.cookie_lifetime
Specifica il tempo di vita (in secondi) del cookie inviato al browser per tener traccia della sessione corrente. Il valore 0
significa "fino alla chiusura del browser" ed è il default che conviene mantenere, bilanciando sicurezza (un cookie non vive troppo) ed usabilità (se il cookie è di vita breve, l'utente sarà forzato al logout ogni dato periodo; e ciò è per questi una seccatura).
Inoltre, anche se il poter evitare di fare il login ad ogni accesso ad un dato servizio è un indubbio vantaggio, è meglio evitare di allungare la vita al cookie oltre la chiusura del browser, dipendendo tuttavia dal tipo di applicazione usata: per un forum l'auto login è adeguato, per un gestore documentale Web (assolutamente) no.
session.cookie_domain, session.cookie_path
Specificano rispettivamente dominio e percorso (sul server) entro il quale i cookies sono validi. Le direttive hanno effetti sulla sicurezza solamente per server condivisi. Quasi tutte le direttive sulle sessioni sono modificabili anche da script.