Il comportamento di queste funzioni è influenzato dalle impostazioni di php.ini.
Nome | Default | Modificabile | Storico dei cambiamenti |
---|---|---|---|
session.save_path | "" | PHP_INI_ALL | |
session.name | "PHPSESSID" | PHP_INI_ALL | |
session.save_handler | "files" | PHP_INI_ALL | |
session.auto_start | "0" | PHP_INI_PERDIR | |
session.gc_probability | "1" | PHP_INI_ALL | |
session.gc_divisor | "100" | PHP_INI_ALL | Disponibile dal PHP 4.3.2. |
session.gc_maxlifetime | "1440" | PHP_INI_ALL | |
session.serialize_handler | "php" | PHP_INI_ALL | |
session.cookie_lifetime | "0" | PHP_INI_ALL | |
session.cookie_path | "/" | PHP_INI_ALL | |
session.cookie_domain | "" | PHP_INI_ALL | |
session.cookie_secure | "" | PHP_INI_ALL | Disponibile dal PHP 4.0.4. |
session.cookie_httponly | "" | PHP_INI_ALL | Disponibile dal PHP 5.2.0. |
session.use_strict_mode | "0" | PHP_INI_ALL | Disponibile da PHP 5.5.2. |
session.use_cookies | "1" | PHP_INI_ALL | |
session.use_only_cookies | "1" | PHP_INI_ALL | Disponibile dal PHP 4.3.0. |
session.referer_check | "" | PHP_INI_ALL | |
session.entropy_file | "" | PHP_INI_ALL | |
session.entropy_length | "0" | PHP_INI_ALL | |
session.cache_limiter | "nocache" | PHP_INI_ALL | |
session.cache_expire | "180" | PHP_INI_ALL | |
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.2.3. PHP_INI_PERDIR in PHP <= 4-cvs. Disponibile dal PHP 4.0.3. |
session.bug_compat_42 | "1" | PHP_INI_ALL | Disponibile da PHP 4.3.0. Rimosso da PHP 5.4.0 |
session.bug_compat_warn | "1" | PHP_INI_ALL | Disponibile dal PHP 4.3.0. |
session.hash_function | "0" | PHP_INI_ALL | Disponibile dal PHP 5.0.0. |
session.hash_bits_per_character | "4" | PHP_INI_ALL | Disponibile dal PHP 5.0.0. |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Disponibile dal PHP 4.0.4. |
session.upload_progress.enabled | "1" | PHP_INI_PERDIR | Disponibile dal PHP 5.4.0. |
session.upload_progress.cleanup | "1" | PHP_INI_PERDIR | Disponibile dal PHP 5.4.0. |
session.upload_progress.prefix | "upload_progress_" | PHP_INI_PERDIR | Disponibile dal PHP 5.4.0. |
session.upload_progress.name | "PHP_SESSION_UPLOAD_PROGRESS" | PHP_INI_PERDIR | Disponibile dal PHP 5.4.0. |
session.upload_progress.freq | "1%" | PHP_INI_PERDIR | Disponibile dal PHP 5.4.0. |
session.upload_progress.min_freq | "1" | PHP_INI_PERDIR | Disponibile dal PHP 5.4.0. |
Il sistema di gestione delle sessioni supporta un numero di opzioni di configurazione che si possono inserire nel file php.ini. Di seguito un breve sommario.
session.save_handler
string
session.save_path
string
C'è un argomento N opzionale per questa direttiva che determina il numero di livelli di carelle su cui verranno distribuiti i file di sessione. Per esempio, impostarlo a '5;/tmp' può portare a creare un file di sessione con questo percorso: /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If . Per usare N occorre creare tutte queste cartelle prima dell'utilizzo. Un piccolo shell script è presente in ext/session per eseguire questo lavoro, si chiama mod_files.sh, con una versione per Windows chiamata mod_files.bat. Notare anche che se N è usato ed è maggiore di 0 il garbage collection automatico non sarà eseguito, vedere un php.ini per ulteriori informazioni. Inoltre, se si usa N, assicurarsi di racchiudere session.save_path in "doppie virgolette" poiché il separatore (;) è usato anche per i commenti in php.ini.
Se si lascia questo parametro impostato su una cartella leggibile da tutti, come /tmp (il default), altri utenti sul server possono abusare delle informazioni delle sessioni ottenendo la lista dei file in quella cartella.
Nota: Prima del PHP 4.3.6, gli utenti di Windows dovevano cambiare questa variabile per utilizzare le sessioni di PHP. Un percorso valido deve essere specificato, es.: c:/temp.
session.name
string
session.auto_start
boolean
session.serialize_handler
string
session.gc_probability
integer
session.gc_divisor
integer
session.gc_maxlifetime
integer
Nota:
Se differenti script hanno differenti valori di session.gc_maxlifetime ma condividono lo stesso spazio di memorizzazione dei dati di sessione allora lo script con il valore minimo sarà quello che ripulirà i dati. In questo caso, utilizzare la direttiva assieme a session.save_path.
Nota: Se si sta usando l'handler di sessione predefinito basato su file, il filesystem deve tener traccia degli orari di accesso (atime). Il filesystem FAT di Windows non lo fa, quindi occorre trovare un altro modo per gestire il garbage collecting della sessione se si è obbligati ad usare FAT o qualsiasi altro filesystem dove atime non è disponibile. Dal PHP 4.2.3 viene usato mtime (orario di modifica) invece di atime. In questo modo non ci sono problemi con filesystem dove l'atime non è disponibile.
session.referer_check
string
session.entropy_file
string
session.entropy_length
integer
session.use_strict_mode
boolean
Nota:
La marca oraria di scadenza è impostata relativamente all'orario del server, che non è necessariamente lo stesso di quello del browser.
session.cache_limiter
string
session.cache_expire
integer
session.use_trans_sid
boolean
Nota: La gestione della sessione basata sulle URL ha dei rischi di sicurezza maggiori rapportata alla gestione basata sui cookie. Per esempio, gli utenti possono inviare una URL che contiene un ID di sessione attivo ai proprio amici via email oppure gli utenti possono salvare una URL che contiene un ID di sessione nei preferiti ed accedere al sito sempre con lo stesso ID.
session.bug_compat_42
boolean
session.bug_compat_warn
boolean
session.hash_function
mixed
Dal PHP 6.0.0 è possibile anche specificare uno degli algoritmi forniti dall'estensione hash (se è disponibile), come sha512 o whirlpool. Una lista completa degli algoritmi disponibili può essere ottenuta con la funzione hash_algos().
Nota:
This was introduced in PHP 5.
session.hash_bits_per_character
integer
Nota:
Questo è stato introdotto in PHP 5.
Nota: Se si desidera la conformità stretta a HTML/XHTML, rimuovere l'elemento form e usare il tag <fieldset> attorno ai campi della form.
session.upload_progress.enabled
boolean
session.upload_progress.cleanup
boolean
Nota: Si consiglia vivamente di mantenere abilitata questa funzionalità.
session.upload_progress.prefix
string
session.upload_progress.name
string
session.upload_progress.freq
mixed
session.upload_progress.min-freq
integer
Le impostazioni di configurazione track_vars e register_globals influenzano come le variabili di sessione sono salvate e caricate.
L'avanzamento dell'upload non viene registrato a meno che session.upload_progress.enabled non sia attivata, e la variabile $_POST[ini_get("session.upload_progress.name")] impostata. Vedere Avanzamento dell'upload di sessione per ulteriori dettagli su questa funzionalità.
Nota:
Dal PHP 4.0.3, track_vars è sempre attivo.