Newsgroup: it.comp.www.php
Titolo: sessioni ... tanta confusione [lungo]

buongiorno a tutto il NG,
avrei bisogno di qualche chiarimento/conferma ...
le sessioni si possono mantenere tramite cookie o mediante
propagazione dell'ID di sessione nell'URL ... questo vuol dire
che entrambi i metodi sono equivalenti, giusto?
cioe': considerando la non_sicurezza che l'utente accetti
i cookies, e' corretto/consigliato progettare le pagine pensando
a priori che i cookies siano completamente disabilitati,
quindi mantenendo la sessione tramite URL?
e' buona norma/corretto/consigliato effettuare all'inizio della pagina
(dopo session_start) un controllo sulla presenza nell'URL
della sessione ed in caso negativo eseguire un reload forzato
con header() appendendo il SID?
il SID e' generato dall'interprete PHP in remoto, giusto?
quindi se un "malintenzionato" cambia il valore della sessione
nell'URL (o nel cookie), questo sara' differente da session_id(), giusto?
anche nella remota possibilita' che l'utente "indovini/conosca" il SID,
visto che questo e' "legato" ad un altro utente sino alla chiusura del
browser?
il SID e' "legato" ad un utente con una accoppiata IP+browser, o altro?
se cade la connessione la sessione sia ancora riutilizzabile, giusto?
[dal manuale]
session.cache_expire specifica il tempo-di-vita, in minuti,
delle pagine nella cache [...]. la scadenza della cache viene
reimpostata al valore predefinito [...] ad ogni richiesta di pagina
[/dal manuale]
cosa si intende per "pagine nella cache"? si tratta dei dati della sessione,
o delle pagine generate utilizzando i dati della sessione?
cioe': i 180 minuti di default sono quanto tempo durera' ancora la sessione
dall'ultimo utilizzo effettuato, o altro?
che differenza c'e' con session.gc_maxlifetime?
cosa succede dopo che una sessione scade/viene terminata?
cioč: il GC elimina/pulisce i file (e quindi le variabili) immediatamente,
o dopo session.gc_maxlifetime c'e' la possibilita' che il file sia ancora
presente? ed in questo caso potrebbe essere "riutilizzato"
conoscendone il SID?
quando termina la sessione?
cioe': esplicitamente con session_destroy(), ma automaticamente dopo quali
eventi termina (chiusura browser, caduta connessione, SID errato,
session.cache_expire, session.gc_maxlifetime, ...)?
e' vero che agli ragni dei motori di ricerca non piacciono i link contenenti
i riferimenti alla sessione?
scusate il poema, ma la confusione e' molta e piu' cerco informazioni, piu'
questa sta aumentando;
grazie a chiunque mi dedichera' un po' di tempo,
saluti
--
MoiKano
-------------------------------------------------------
l'importante e' essere, non sembrare
moika...@SPAM-libero.it
-------------------------------------------------------

 contenenti i riferimenti alla sessione?
Se ne e' discusso decine di volte. Gli spider avevano/hanno problemi
con caratteri speciali quali ? e & nelle URI, il fatto che sia un SID
non c'entra nulla.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 Leggi il manuale, session.gc_maxlifetime, session.gc_probability.
vuol dire che dopo session.gc_maxlifetime dall'ultima operazione
eseguita sulla sessione si ha session.gc_probability che i dati siano
eliminati ad ogni richiesta di una sessione, giusto?
ma allora con session.gc_maxlifetime = 1440 sec (24 min) e con
session.gc_probability = 1 (si intende 1% non 100%, giusto?) si ha
che dopo 24 min dall'ultimo utilizzo si ha 1 possibilità su 100 che i dati
vengano cancellati ... quindi in realta' la persistenza dell'informazione e'
garantita solo per 24 min, giusto?
[dal manuale]
session.save_path [...] se scegliete handler files di default, questo e'
il percorso dove i files vengono creati. Di default è /tmp [...] se lasciate
questo settato [...] altri utenti potrebbero essere in grado di dirottare le
sessioni prendendo la lista dei files in quella directory.
[/dal manuale]
quindi per sicurezza e' consigliabile spostarle in un altro percorso, ma
questo e' un percorso assoluto sul server, percio' essendo in hosting
io non posso settare un percorso differente (senza averne i diritti), o
posso settare qualcosa del tipo 
http://www.mio.dominio.tld/percorso
?
in questo caso sarebbe veramente consigliabile?
grazie ancora per la pazienza,


 veramente consigliabile?
Guarda che non puoi usare un URL. Devi comunque usare un path "fisico"
sul filesystem, e comunque, per "altri utenti" si intende altri utenti
del server (es. altri utenti in hosting). Se il provider ha configurato
bene il server nessun altro utente dovrebbe poter accedere alla tua
/tmp.
-- 
I am what I am, I do what I can
