file di sessione non si aggiornano

Emanuele.Basilicata

Nuovo Utente
30 Ott 2013
21
0
1
Buongiono,

ho verificato che nel server remoto (ma anche in locale) il file associato alla sessione non cambia quando distruggo la sessione ne se utilizzo session_regenerate_id().

Ho un abbonamento x un servizo di hosting quindi monitorando con filezilla il mio spazio web sul host remoto (dove ho reindirizzato con session.save_path la cartella dei file sessione) vedo il file generato da session_start() che poi sparisce quando chiudo la sessione; quando però rilancio il programma (anche dopo che sono uscito dal browser) mi ricrea il file sessione con lo stesso nome !!!!

All'interno dei programmi ho inserito anche la funzione session_regenerate_id() ma sembra venga ignorata. Dico questo perchè ho inserito la visualizzazione delle 2 varianti (prima e dopo session_regenerate_id ) e sono uguali !!!.

Sinceramente ho fatto anche un piccolo programmino (con le stesse specifiche che utilizzo nel programma principale) per testare (in locale) session_regenerate_id(). Se lo lancio da solo funziona: cambia id (li ho visualizzati) e anche i file cambiano nome. Quando chiudo e riapro il browser e rilancio il programmino, mi prende l'ultimo id e rigenera quello nuovo e nella cartella dei file di sessione, è sparito il vecchio file e trovo solo quello con l'id rigenerato. (per me tutto ok).

Certamente il programmino è fine a se stesso mentre il programma ha difatto le 3 pagine classiche: una contenente la form, una controlla i dati passati dalla form, una visualizza i risultati. La session-regenerate_id è in quest'ultima.

Qualche suggerimento ?

Grazie.
 

skillsfactory

Utente Attivo
23 Nov 2012
50
0
0
forse è un problema di persistenza della cache che affligge alcuni vecchi browser come IE

prova così


PHP:
session_cache_limiter ('private, must-revalidate');
session_start();
 

Emanuele.Basilicata

Nuovo Utente
30 Ott 2013
21
0
1
forse è un problema di persistenza della cache che affligge alcuni vecchi browser come IE

prova così


PHP:
session_cache_limiter ('private, must-revalidate');
session_start();

OK PROVERO' ti anticipo però che il browser che utilizzo è firefox aggiornato a 25.0 (sinceramente non ho provato con gli altri browser ma lo farò)

Grazie.

Emanuele
 

Emanuele.Basilicata

Nuovo Utente
30 Ott 2013
21
0
1
è allora ti anticipò che non funzionerà :D
cmq prova, non si mai...

In effetti non ha funzionato ne con firefox ne con altri browser.

A mio avviso è una questione di output: mi spiego.

Ho un pò revisionato i 3 programmi (form, elaborazione, visualizzazione), ho costruito un file dove ho inserito i settaggi x php_ini e le chiamate a session_name(), session start(), session_regenerate_id(), ho inserito questo file in ciascuna delle 3 pagine richiamandolo tramite require_once(....) (ho provato anche trasformando il file in funzione e richiamare quest'ultima nelle 3 pagine).
In queste pagine ho inserito anche un echo delle variabili che memorizzo dopo session_start() e dopo session_regenerate_id().

Risultato:
nella prima pagina che pubblico le 2 variabili sono diverse,
nella 2^ che è legata all'action della form, sono uguali,
nellA 3^ che richiamo tramite un js sono uguali.

Conclusione: la prima volta session_regenerate_id() funziona, nelle seguenti pagine no.

Ora vorrei provare ad inserire nel file ob_start() e ob_end_flush (non ho capito bene il funzionamento) ma è un parametro che lavora sull'output.

Saluti.

Emanuele
 

Emanuele.Basilicata

Nuovo Utente
30 Ott 2013
21
0
1
In effetti non ha funzionato ne con firefox ne con altri browser.

A mio avviso è una questione di output: mi spiego.

Ho un pò revisionato i 3 programmi (form, elaborazione, visualizzazione), ho costruito un file dove ho inserito i settaggi x php_ini e le chiamate a session_name(), session start(), session_regenerate_id(), ho inserito questo file in ciascuna delle 3 pagine richiamandolo tramite require_once(....) (ho provato anche trasformando il file in funzione e richiamare quest'ultima nelle 3 pagine).
In queste pagine ho inserito anche un echo delle variabili che memorizzo dopo session_start() e dopo session_regenerate_id().

Risultato:
nella prima pagina che pubblico le 2 variabili sono diverse,
nella 2^ che è legata all'action della form, sono uguali,
nellA 3^ che richiamo tramite un js sono uguali.

Conclusione: la prima volta session_regenerate_id() funziona, nelle seguenti pagine no.

Ora vorrei provare ad inserire nel file ob_start() e ob_end_flush (non ho capito bene il funzionamento) ma è un parametro che lavora sull'output.

Saluti.

Emanuele

Aggiungo:

le modifiche apportate mi permettono di risolvere il problema iniziale cioè che all'apertura del browser la sessione prendeva l'ultimo ID anche se utilizzavo session_destroy. Ora anche se esco dal browser senza aver distrutto la sessione, la prima pagina (proprio perchè sesion_regenerate_id() funziona) l'ID cambia. Il file della sesione precedente viene riscritto col nuovo id. OK.

Mi resta da capire perchè nelle pagine seguenti session_regenerate_id() non funziona ovvero non aggiorna l'ID. ......(ho provayo ob_start e ob_end_flush ma hanno dato esito negativo).....

Grazie per i suggerimenti.

Emanuele
 
Discussioni simili
Autore Titolo Forum Risposte Data
I sessione username scarica file PHP 1
M Variabile di Sessione in file .htm HTML e CSS 2
E fpdf salvare e aprire il file PHP 4
I asp | includere un file, indirizzo depositato in un db Classic ASP 0
felino [Windows 10] Scompare icone, file e collegamenti sul desktop Windows e Software 0
S passare un valore da un form a un file .php con metodo post PHP 4
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
G file CSS contenente variabili HTML e CSS 1
M Creare traccia di download file sul server HTML e CSS 2
I elimina file PHP 1
I cerca file sottocartella unlink file PHP 0
S Aggiornare percorso file collegati MS Access 0
I lista file sottocartella elimina file PHP 3
F comando di inclusione file audio in I-Pad non funziona HTML e CSS 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
I visualizza file sottocartella elimina singolo file PHP 1
I caricamento file in sottocartella nome utente PHP 3
I cartella sottocartella apri o scarica file pdf PHP 1
K Sfondo nuovo file Photoshop 0
C Wp-admin a file php WordPress 5
G Importazione file .sql Web Server 0
csi Inviare file jpg in locale alla stampante con php PHP 0
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
MarcoGrazia HTML5 <picture> e i file source HTML e CSS 2
MarcoGrazia criptare un file PHP 2
U Link a doppio file PHP PHP 0
U Link a pagina ed esecuzione file PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
I Documento file word Java 0
FDF182 file .bin nell' email PHP 0
E Sito violato, file modificati, cartelle create WordPress 1
F LETTURA FILE SU DIRECTORY IN RETE Javascript 0
Y Percorso assoluto file immagine HTML e CSS 9
M Durata di un file MP4 Classic ASP 1
L problema collegamento file css con html HTML e CSS 1
otto9due Proteggere file caricati dall'esterno ma renderli accessibili per gli utenti loggati. PHP 4
Y Problema percorso file in rete PHP 1
otto9due Impedire esecuzione diretta dei file PHP 7
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
keyascii File temporanei Sessioni PHP 6
T Come esportare Thunderbird MBOX in file PST di Outlook? Windows e Software 2
K File audio in html, chi mi può aiutare? HTML e CSS 0
K Aiuto con file audio in html HTML e CSS 1
Antonio67 Lanciare file shell bash da html HTML e CSS 2
G leggere file txt e stampare con php il contenuto a video PHP 7
L Modifica file upload in ASP Classic ASP 2
Cosina mostrare contenuto da file txt PHP 2
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
M Inviare un file su un server remoto con JavaScript Javascript 0

Discussioni simili