Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613

    sessioni - cookies: conferma

    Salve a tutti.
    Vi espongo quello che so sulle sessioni e i cookies e la differenza che intercorre tra loro, vorrei che qualcuno confermasse o che mi correggesse.

    I cookies sono inviati tramite header al browser e vengono salvati in un file di testo nel client. In questo file inserisco tutte le mie info che mi occorrono per la gestione del sito.

    Le sessioni inviano un cookie al client dove salvano il PHPSESSID (o più in generale SID) che serve per localizzare il file di testo contenente le informazioni che però stavolta è salvato sul server stesso.

    Se il client non accetta i cookies allora il server dà la possibilità di propagare per tutte le pagine il SID per fare in modo di recuperare il cookie sul server.

    Giusto?
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Lo prendo per un "Chi tace acconsente"?
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  3. #3
    Non so come le sessioni vengano gestite nè credo sia importante.

    Diciamo che posso anche accettare quello che dici ma non mi cambia molto la vita. La differenza principale tra sessioni e cookies è che mentre i cookie, venendo memorizzati sul client, possono avere una vita superiore rispetto a quella delle sessioni. Mi spiego meglio. Quando si setta una var di sessione ( $_SESSION['var'] = 'value'] ) la stessa verrà memorizzata da qualche parte ma alla chiusura di tutte le finestre del browser (non importa se siano quelle relative al sito o meno, basta che vengano chiuse TUTTE) la sessione stessa verrà cancellata; il cookie, diversamente, può essere impostato affinchè rimanga memorizzato nel server anche dopo la chiusura del browser (quelli che vengono cancellati alla chiusura si chiamano magic cookies).

    Tramite un cookie, quindi, sarebbe possibile far "rinascere" una sessione anche a distanza di giorni (sempre ammesso che il cookie sul client sia ancora valido) cosa, invece, non possibile con le semplici sessioni.

    Ancora hai dei imiti nell'invio dei cookie. Tali limiti sono spiegati nell'articolo "Tutto sui cookie" di Fabio Sutto alias fabio_heller. L'articolo si trova a http://freephp.html.it/articoli/view_articolo.asp?id=68 e ti chiarirà molti punti oscuri. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Azz se è importante

    Confermando quello che ho detto il resto mi veniva di conseguenza.. anzi, diciamo che quello che ho scritto l'ho dedotto dal funzionamento che hai spiegato tu.

    Grazie del consiglio ora lo leggo
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  5. #5
    Non credo sia importante nel senso che non bisogna preoccuparsi del fatto che l'utente abbia o meno i cookie abilitati se si usa l'array $_SESSION poichè tutto viene gestito in modo automatico.

    Bisogna invece preoccuparsi del fatto che l'utente non ha abilitata la ricezione dei cookie se intendo memorizzarvi qualcosa. In questo senso.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Beh non è del tutto vero che viene gestito tutto automaticamente.. se non propaghi il SID, nel caso i cookies siano disabilitati (e sappiamo che con le sessioni il SID è settato in maniera automatica), nelle pagine che intendi visualizzare e che abbiano un riferimento alla sessione, i dati della sessione li perdi.

    Era solo una puntualizzazione
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  7. #7
    Ti sbagli. Il tutto viene gestito in modo automatico. Non tocca a te propagare il sid, se ne occupa il server in modo automatico. Tu devi solo settare le vars e gestirle.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Dipende dalla configurazione del server.. c'ho sbattuto le corna un paio di milioni di volte.

    Supponi di esserti autenticato e di avere settato $_SESSION[logged] = 1;

    Se nella pagina che ha settato la variabile hai un link Pag 2 e hai i cookies disabilitati
    cliccando sul link, nella pagina successiva te lo scordi che ti riconosce.


    Pag 2

    Così invece va.

    Magari hai impostato il sever in modo che mandi in POST il SID, ma se non è settato così aivoja a cantà maggio

    Una form in genere propaga il SID in maniera atuomatica, ma nemmeno questo è sempre vero.. lo dimostrano i clienti che chiamavano avvelenati perchè non riuscivano a loggarsi o a proseguire nella navigazione. Tutto risolto mediante l'aggiunta del SID alla fine dei link.
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  9. #9
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    I cookies sono inviati tramite header al browser e vengono salvati in un file di testo nel client. In questo file inserisco tutte le mie info che mi occorrono per la gestione del sito.
    Una bella differenza tra cookies e sessioni, presi nel senso di come dite voi, è il fatto che tramite sessione è possibile salvare dati sensibili (piangono sempre) mentre nei cookies non deve essere salvato nulla di importante.

    I biscottini dovrebbero servire più che altro per tracciare ciò che sta sul server, ovvero per contenere SID od altro "puntatore" e nulla più: dato che la validità dei biscottini usati da PHP per immagazzinare il SID è generalmente limitata fino alla chiusura del browser (o fino ad un tempo max), e quindi inutile per mantenere traccia di un utente a lungo termine, per far ciò è possibilissimo spedire "manualmente" un cookie al client, che contenga un identificatore ad un nostro file di "pseudo-sessione" che noi abbiamo messo dove ci pare e che contenga le nostre informazioni.

    Insomma, intendo dire che il cookie dovrebbe servire, nell'ottica di una programmazione sicura, solamente a contenere "puntatori univoci" a file gestiti dall'applicazione PHP su server e non dovrebbe contenere altro - se non variabili temporanee "di appoggio", di poco conto.

    [.:: JaguarXF ::.]
    __________________

  10. #10
    Mha, non mi risulta! Farò qualche test e ti farò sapere.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.