Le sessioni

Un problema comune nello sviluppo di applicazioni Web è il trasferimento di informazioni legate all'utente da una pagina all'altra. Infatti l'HTTP, ovvero il protocollo che sta alla base del WEB, è senza memoria ed i server web trattano ogni connessione e richiesta di una pagina come se fosse unica e completamente indipendente dalla precedente. Ciò significa che non esiste un sistema nativo che consenta di associare ad ogni richiesta l'utente che l'ha effettuata.

Gli sviluppatori PHP, prima che le sessioni fossero introdotte, per associare delle informazioni all'utente corrente e renderle persistenti tra una pagina e l'altra, usavano i cookies o gli URL (query string). Le informazioni si trasferivano dal server al client e viceversa realizzando una sorta di palleggiamento di dati che ne garantiva la persistenza tra richieste successive.

Sorgevano però evidenti problemi di sicurezza, soprattutto perché queste tecniche prevedono che i dati passino dal client, dando così la possibilità all'utente di modificarli. La dimensione massima di queste informazioni è vincolata alla limitata capacità dei cookies e della query string. L'utilizzo delle query string inoltre obbliga il trattamento di tutti i link presenti nelle pagine (non si sa quale l'utente userà per vedere la prossima pagina).

Le sessioni sono state introdotte in PHP 4 proprio per risolvere questi problemi in maniera elegante ed il più possibile trasparente allo sviluppatore.

Pagine: 12 3 4 5 6

1 commento

1 Silvio Silvio mercoledž 11 maggio 2011, ore 12:03
Per cortesia, sono un neofita del mondo PHP/MYSQL. Ieri avevo scritto dei file in php che impiegavano il session_start e tutto andava bene, poi già nel pomeriggio quando col browser cercavo di aprire quei file mi apparivano una serie di warning tipo che non c'era quel file o quella directory o che gli headers erano già stati inviati. Per fare durare quanto voglio la mia sessione devo andare a modificare manualmente il file php.ini? dove? devo anche ritoccare il session_save.path ?
Siate così cortesi...
Silvio
Effettua l'accesso o registrati per inserire un commento