SESSIONID

Ho un sito che supporta php 4.3.11.

Ho realizzato il login mediante l'ausilio delle sessioni. Il problema è che qundo avvio la funzione session_start()  (nella homepage del sito) al refresh della pagina viene visualizzato il SESSION ID. Ho letto l'articolo sulle sessioni e a quanto pare la visualizzazione dell'ID di sessione è da evitare.

Per cui:

1.quali rischi concreti si corrono nel visualizzare l'ID di sessione?

2.per disattivare la visualizzazione cosa bisogna fare?

Grazie

inviato 11 anni fa
Nico Colonna
X 0 X

I rischi concreti sono pochi: essendo visibile è più facile "rubare" tale ID ed evitare così il login

per disattivarlo vai nel php.ini e metti

session.use_only_cookies a off

e

session.use_trans_sid a off

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Io realizzo il login così:

1.verifico che i dati inseriti (user e password) trovino 1 occorrenza nel relativo DB;

2.se i dati sono corretti inizializzo una variabile di sessione con i dati dell'utente;

3.nell'area riservata verifico che la varibile di sessione sia stata settata e nel qual caso do accesso al client.

In questa procedura quale rischio corro nel propagre l'ID?

Grazie

risposto 11 anni fa
Nico Colonna
X 0 X

La procedura che segui è corretta. Immagina che l'utente aggiunga ai preferiti una pagina della sezione privta. Dopo un po' un'altra persona apre il browser e clicca sul bookmark che contiene il session id. Se la sessione non è scaduta sul server allora il nuovo utente accederà a tale sezione del sito senza autenticarsi.

Ci sono altre evenienze ma tutte di questo tipo.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Pertanto devo modificare il php.ini... Come faccio ad accedere al file? :idiot:

risposto 11 anni fa
Nico Colonna
X 0 X

E' un comune file di testo. Si trova nella cartella in cui hai installato PHP

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Ma non dovrei variare le impostazioni del sito!?

In ogni caso ho trovato la funzione string ini_set ( string varname, string newvalue )

da settare così ini_set("session.use_trans_sid","0");

Che ne dici?

risposto 11 anni fa
Nico Colonna
X 0 X

Scusami, non avevo capito che parlavi di un server remoto. Pensavo stessi facendo delle prove sul tuo PC.

ini_set va benissimo, ovviamente da mettere prima di session_start()

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda