Fondamentalmente non ho mai usato le sessioni e ho alcuni dubbi di concetto più che di codice vero e proprio...
-Quando effettuo il login viene creato un cookie nel client che ha per nome un id univoco corrispondente a quello della sessione; è il comando session_start() che effettua quest'operazione? In molti thread ho letto che questo comando deve essere in assoluto la prima riga di codice della pagina, ma poi vedo anche qui sul forum esempi funzionanti in cui non è rispettata questa regola... qual'è la verità?
-nelle pagine successive è sempre il comando session_start() che verifica l'esistenza del cookie e mi da accesso a tutti i contenuti dell'array &_SESSION ?
-l'id di sessione posso/devo utilizzarlo per qualcosa, o è giusto che venga utilizzato solo in automatico per verificare che esista la sessione?
-se quando effettuo il login, dopo session_start() scrivo
$_SESSION['utente'] = $_POST["user"];
e nella pagina protetta
if(isset($_SESSION['utente'])
il confronto per verificare se la sessione esiste viene effettuato sempre sull'id, o sul parametro che gli ho passato io? Insomma ho un po' le idee confuse... :-s
Inoltre ho letto cose tipo:
-non è corretto passare il nome in quanto è debole e facilmente indovinabile;
-meglio utilizzare memcache per salvare gli id di sessione;
-meglio salvare gli id in un DB;
-meglio far passare gli id attraverso md5 prima di salvarli in un db;
-meglio non far nulla di tutto ciò e utilizzare il nome utente perchè la sicurezza è la stessa...
Offro una birra a chi mi chiarirà un po' di dubbi!!