Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Alla riapertura del browser ancora loggato?

    Buon giorno a tutti, appena loggato, in tutte le pagine del sito utilizzo le sessioni, cosi da avere sempre presente lo user per ognuna di loro.
    Per distruggere la sessione ho il classico logout e funziona.
    Anche se chiudo il browser, alla riapertura non ho più la sessione attiva e quindi mi chiede di loggarmi nuovamente.

    Vorrei sapere però, come si gestisce la sessione e quindi l'autenticazione attraverso la classica check "Resta connesso".

    Vorrei dare l'opportunità a chi entra di poter scegliere se restare connesso alla riapertura del browser.

    Grazie mille.

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, in questo caso utilizza i cookie invece delle sessioni.

  3. #3
    oddio, quindi devo rivedere tutta la struttura fin qui utilizzata attraverso le sessioni?

  4. #4
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    No, tranquillo xD devi crearti un cookie solo nel caso l'utente abbia scelto di rimanere connesso, in tutti gli altri casi continui ad utilizzare normalmente le sessioni.

  5. #5
    ...che smaltita....

    Però qualche altra domandina..
    Ora come ora, chiudo il browser e alla riapertura mi chiede di autenticarmi nuovamente.

    1) All'interno di questo cookie cosa vado a memorizzare?
    2) alla riapertura del browser quale controllo devo eseguire per ri-attivare la sessione per quello user?

    Se puoi aiutarmi ancora...

    grazie mille...

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Un'idea potrebbe essere di memorizzare nel cookie 2 cose
    1) nome utente
    2) codice associato all'utente

    il codice deve essere ad esempio l'id della riga della tabella in cui l'utente è memorizzato (poco consigliato) o un codice alfanumerico o vedi tu (NON la password!), ma deve essere comunqe un codice univoco associato a tale utente e magari lo modifichi ogni volta che l'utente accede al sito.

    All'apertura del sito verifichi l'esistenza del cookie, se non sesiste chiedi il login, se esiste prendi i due valori e fai una query sul db per vedere se username e codice coincidono.
    Se i dati coincidono carichi i dati dell'utente in sessione e fai tutte le operazioni che fai ora per il login, ma ovviamente senza intervento dell'utente, se non coincidono chiedi il login.

  7. #7
    ti e vi ringrazio della dritta....
    Buona giornata e buon lavoro.

  8. #8
    hai 1 solo modo per farlo, tutte altre soluzioni o sono giri veramente strani oppure sono follie dal punto di vista della sicurezza (scusate la schiettezza )

    Devi fare fondamentalmente 2 cose:
    - il cookie della sessione, invece di scadere alla chiusura del browser lo fai scadere tipo dopo 1 anno (in pratica come scadenza metti time() + (365 * 24 * 60 * 60) )
    - le sessioni, flaggate come remember me, non le consideri scadute dopo X minuti di inattivita

    Questo:
    - ti evita di tenere informazioni pericolose come nome utente e/o password codificati nel cookie
    - ti evita di tenere codici di autorizzazioni ad hoc per gli accessi automatici
    - le variazioni al codice sono veramente poche

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.