session_set_save_handler()

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
Ciaro a tutti; nel mio libro sono inciampato in questa funzione

session_set_save_handler()

che testualmente serve per:

"ridefinire i gestori di sessione incorporati di php - per definire funzioni di sostituzione per aperura, chiusura,lettura,scrittura,eliminazione e svuotamento"

Mi potreste spigare in parole più semplici e dirmi a cosa realmente serve questa funzione?

P.S. Ho letto anche la definizione sul manuale .php ma non ci ho capito molto...
 
Praticamente quando tu crei una nuova sessione in realtà, oltre ad assegnare il valore alla variabile superglobale $_SESSION, PHP chiama una funzione nativa per salvare i dati all'interno del file di testo relativo. Con la funzione session_set_save_handler tu puoi ridefinire la funzione che PHP chiama, in modo da salvare le sessioni dove vuoi: in un database, in un file XML... e creare il tuo sistema di gestione delle sessioni personalizzato. Ovviamente se salvi le sessioni in un'altra sede devi ridefinire tutte le funzioni di gestione delle sessioni, altrimenti potrai salvarle ma non leggerle.
 
Quindi da quanto ho capito serve per salvare le sessioni in un altro percorso o in un db o altro... - ma ciò a che serve? "Solo" per sicurezza?

in pratica che differenza c'è se uso un session_set_save_handler() per salvare le sessioni in un database


oppure se salvo le sessioni direttamente in un database senza session_set_save_handler() ?
 
session_set_save_handler() imposta le funzioni di archiviazione delle sessioni a livello utente, è quindi solo un'alternativa, se già si utilizza un altro sistema per lo storage, ad esempio un database, non è particolarmente utile.
 
Grazie!

Penso di aver compreso - poi quando ho più tempo da sfruttare per questa funzione vi chiederò chiarimenti sul codice da me utilizzato per inserire sessioni su db.
 
Sarebbe interessante, si tratta di una funzione poco utilizzata nelle applicazioni PHP
 

Discussioni simili