Newsgroup: it.comp.www.php
Titolo: stringa di sessione php

ciao a tutti,
se faccio una ricerca del mio sito su Google o altri motori di ricerca
mi capita di trovare che in coda all' url trovato ci sia una stringa di
sessione di php tipo questa:
"?PHPSESSID=4d6d21c7679ccca3f54b3c5a4b90a453".
Mi chiedevo se è una cosa normale o se è un'anomalia ed eventualmente
cosa dovrei fare.
Grazie.

il numero di sessione, se nel tuo sito lo leghi a user e password
(criptata ovviamente) e con una scadenza di sessione non dovrebbe
crearti troppi problemi...
Se nella tua logica hai messo un controllo che verifica il numero di
sessione con utente e pass (o hash) vedrai che quella pagina linkata
conl sessid non funziona (o meglio dovrebbe chiederti di loggarti).
Prova a cliccarci quanso NON sei connesso e vedi se ti ritrovi "dentro"
Ale , in data 18/11/2006 15:50 :


 "?PHPSESSID=4d6d21c7679ccca3f54b3c5a4b90a453".
E' il meccanismo del PHP (e di altri linguaggi) per mantenere la sessione 
quando l'utente non ha impostato i cookie nel proprio browser.
E Google (e gli altri spider) non navigano i siti considerando gli eventuali 
cookie, quindi ti ritrovi nei link il session id.
Conclusione: è una roba normale.
Nello. 

allora, vi spiego come è impostato il mio sito: su tutte le pagine
c'è un form (con 2 aree di testo per userID e password e un pulsante
di login) che permette all'utente di accedere all'area riservata.
Quando un utente accede all'area riservata, su tutte le pagine (anche
quelle esterne all'area stessa) al posto del form di login viene
visualizzato un messaggio di benvenuto con il nome dell'utente ed un
pulsante di logout.
Dopo aver fatto qualche verifica mi sono accorto che cliccando sui vari
link trovati da Google accedo al sito normalmente (quindi vedo su ogni
pagina il form di login) tranne in un caso in cui vedo il messaggio di
benvenuto ed il tasto di logout come se fossi entrato nell'area
riservata.
In realtà però se tento di entrare in una pagina riservata mi dà un
messaggio di errore dicendo che devo fare prima il login.
Ora mi chiedo, come'è possibile che Google abbia indicizzato una mia
pagina con una stringa di sessione che porta a visualizzarla come se un
utente avesse fatto il login?
Come posso evitare questa cosa?
Anche se a quanto pare non dovrei avere problemi di sicurezza, è
brutto che un visitatore che arriva al mio sito da Google si ritrovi a
visualizzare un messaggio di benvenuto riferito ad un altro utente ed
un tasto di logout senza aver fatto nessun login...

 un tasto di logout senza aver fatto nessun login...
Provato a svuotare la cache del tuo browser?
rob4you

Sì, in effetti svuotando la cache del browser non succede più.
Mi chiedevo se è possibile evitare che accada anche senza svuotare la
cache mettendo come prima istruzione session_destroy() su tutte le
pagine e poi iniziare una nuova sessione con session_start().
Pensate che sia una buona idea?

 Pensate che sia una buona idea?
Se distruggi in ogni pagina le variabili di sessione, che senso ha 
usare le sessioni? Passando da una pagina all'altra non potresti più 
recuperare le variabili volute, e quindi a sto punto sarebbe la stessa 
cosa di non usarle proprio! :-)
Al massimo puoi mettere un time limit al termine del quale la sessione 
scade. Ovviamente se vuoi gestire la "freschezza" della sessione, 
l'idea migliore è operare direttamente sul php.ini (se ne hai accesso).
rob4you
www.outofmind.eu

oooops! è vero, ma che scemo..... ;P