Io non sono un esperto (ma sto sudiando conscio che forse non lo diventerò mai...) e tu sei di sicuro più bravo di me... ma ne approfitto per imparare qualcosa

Ti dico le cose che ho studiato aspettando che arrivi un esperto a correggere eventuali imprecisioni (ca**ate) che scriverò (sono interessato all'argomento).

La principale falla che può provenire dalle sessioni è definita "session hijacking" ("session fixation" è la stessa cosa?).
Facendo un copia e incolla dei miei appunti (caserecci):
"La logica sulla quale si basano le sessioni può essere semplicisticamente descritta in tal modo: tutte le volte che un utente, tramite browser, effettua una visita ad un sito questo assegna a tale utente un id di sessione; durante tutta la navigazione, l'utente si porterà dietro questo id come identificativo univoco della sessione.

Il server registrerà le informazioni raccolte durante la navigazione su un file di testo che verrà salvato in remoto (ovvero sul server, generalmente nella cartella tmp, la cartella di file temporanei). Il file avrà come nome l'id di sessione così che ogni utente avrà il propio file con le proprie variabili di sessione.".

Le session hijacking si hanno quando un utente impossessandosi dell'id di sessione di un altro utente ha la possibilità di spacciarsi per esso.
Le soluzioni:
- utilizzare session_regenerate_id(): questo comando introdotto dopo ogni chiamata di session_start() "rinomina" di volta in volta la sessione; quindi anche se un utente disgraziato dovesse impossessarsi dell'id di sessione questo diventa inutilizzabile (fonti: http://php.html.it/guide/lezione/300...sion-fixation/).
- memorizzare in una variabile di sessione l'IP del client e NON accettare connessioni successive se non dallo stesso IP. L'indirizzo IP del client è contenuto nella variabile superglobale $_SERVER['REMOTE_ADDR'] (fonte: http://www.dti.unimi.it/sassi/LIA2008/lez19e20.htm).
- impostare una cartella di salvataggio dei file di sessioni diversa da quella di default (la cartella temporanea del server) con il comando session_save_path() (tieni presente che il garbage, cioè l'autocancellazione a scadenza dovrà essere gestito).

Originariamente inviato da Difficile
sessioni e per memorizzare i dati di sessione (indirizzo ip, username, password, livello di accesso, ecc.)
Per quanto ne sò è da evitare il salvataggio di dati sensibili (password) in sessione

Originariamente inviato da Difficile
tipo session_register() )
per quanto ne sò è inutile con le nuove versioni di php dato che la valorizzazione può essere fatta direttamente con

$_SESSION['variabile']="valore";