Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    51

    Sessioni che si perdono

    Sto sclerando. Problemi così ti buttano giù. Partiamo dal fatto che io il php lo conosco abbastanza benino e che il mio intero sito compresi login e pannelli vari e registrazione e iscrizioni me li so fatti io da solo e li conosco piuttosto bene quindi.
    Ho un problema con la sessione del mio sito. Vi spiego. Ho un campetto di login che si trasforma nel pannello da loggato nell'header di tutto il sito. Ora, finora ha funzionato tutto bene. Che ho scoperto ora, che andando su pagine della gallery si perde la sessione e quindi l'utente viene sloggato e si perdono persino i cookie (dato che il sito ha la funzione "Ricorda" che memorizza in un cookie i dati criptati d'accesso). Il fattaccio è che sulla pagina 1 della gallery (che avrà url del tipo www.sito.it/gallery.php?pag=1) alla quale accedo tramite il menù (con un tasto col semplice link: www.sito.it/gallery.php?pag=1) va tutto bene. Va bene anche se accedo scrivendo l'URL manualmente, ad esempio: www.sito.it/gallery.php?pag=4
    Si perde invece la sessione dell'utente se io mi collego tramite il link sotto alle pagine che è fatto così:
    Codice PHP:
    [url="www.sito.it/gallery.php?pag=4"] <span>4</span> [/url
    Cioè uno stupido link... Ricapitolo che il problema è alquanto inverosimile:
    1) Funziona andando sulla pagina dal menu www.sito.it/gallery.php?pag=4
    2) Funziona scrivendo lo stesso link a mano.
    3) Non funziona andando sulla pagina con l'identico link ma su un contapagine sotto.

    Ci tengo a precisare che la sessione dell'utente è un oggetto creato dal PHP, non un insieme di stringhe, che poi verrà salvato su un cookie.
    Ovviamente ho controllato e non ci sono session_destroy() che mi sono sfuggiti. La cosa più assurda è che cancella in toto i cookie, ma solo della sessione e dei campetti di input anche perché ci sono altri cookie che invece a quanto pare restano.
    Preciso che queste pagine che danno errore non hanno particolarità rispetto alle altre pagine.

    Non so da quando di preciso dia questo problema perché non andavo a visitare spesso le pagine della mia gallery. Preciso inoltre che la gallery si fonda su un DB e fa semplici query che poi le servono per creare la lista di item.
    Grazie a chi riuscirà ad aiutarmi.


    Aggiornamento:
    Ho scoperto il problema, vi lascio il messaggio per i posteri nel caso qualcuno abbia lo stesso problema:

    In pratica nel link del menù scrivevo:
    ../gallery.php?pag=1

    Invece nel link delle pagine scrivevo:
    sito.it/gallery.php?pag=1

    Data la configurazione del server quindi io mi trovavo sul sito www.sito.it ma il link con sito.it mi portava su un sito parallelo a quanto pare (di cui non c'erano le sessioni che erano preposte al sito www.sito.it).

    Ultimo dubbio, qualcuno sa come evitare questa cosa (cioè che uno vada a finire sul sito parallelo sito.it invece di www.sito.it per ritrovarsi poi quindi buttato fuori dal login)?
    Comunque è solo un dubbio dato che il problema in questo modo lo risolvo facilmente.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    stavo per proporre delle idee per il debugging e stavo per ipotizzare il problema... che poi è quello che ho pensato mentre leggevo.

    Non è un problema, ma una caratteristica dei cookie.

    Comunque basta usare il parametro domain (il 5o) di setcookie e impostarlo su "example.com" in modo che "valga" anche per "www.example.com" "other.example.com" etc.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    51
    Ok, thanks per la risposta

    Non ci avevo pensato proprio a settare direttamente il domain su quello generico (senza www e cavoli vari). Comunque mi so informato e credo sia pure la stupidità dei browser in questo caso a fare la differenza.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mmmh... può darsi, ma bisogna vedere tutto in dettaglio... la possibilità di definire i cookie per dominio è una proprietà, cmq.

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.