• Super User

    Gestione utenti php - salvare cookies

    Ho un quesito.
    Ammettendo di avere tutta la parte di autenticazione degli utenti in php e gestione delle sessioni, come salvereste nei cookie i dati dell'utente per non dover fargli rifare il login?
    Salvereste user e pass (in md5) nei cookie?

    Attendo suggerimenti 😄

    CIAO


  • Super User

    Giro la domanda:

    cosa salvano i vari forum quando si spunta su RICORDAMI AD OGNI VISITA?

    😄


  • User

    Ciao io utilizzo semplicemente il nome utente che è univoco e da li poi richiamo tutti i dati che mi servono.

    Ciao
    Dax


  • Super User

    @dax said:

    Ciao io utilizzo semplicemente il nome utente che è univoco e da li poi richiamo tutti i dati che mi servono.

    Ciao
    Dax
    Ma scusa, facendo così se io mi creo un cookie con il nome di un utente e vengo sul tuo sito mi ritrovo loggato con quell'utente...non è un po rischioso?


  • Super User

    @Tuonorosso said:

    Ma scusa, facendo così se io mi creo un cookie con il nome di un utente e vengo sul tuo sito mi ritrovo loggato con quell'utente...non è un po rischioso?Si, e molto.

    la funzione cookie( ) di PHP permette infatti anche di poter registrare un cookie a nome di un dominio differente.

    Consiglierei quindi di usare la direttiva session.cookie_lifetime presente nel php.ini per allungare la "vita" di una sessione. Questa variabile nel suddetto file è di default settata a 0, avendo come risultato una sessione che scade ogni chiusura di browser.

    Se allunghiamo il periodo di vita del cookie di sessione ( sempre nel caso se ne faccia uso ) conserveremo il suo contenuto per quanto tempo ne abbiamo bisogno. Spesso si usa lasciarlo per tempi lunghi, come 2 anni ( 2365243030 secondi ), oppure per un tempo inferiore.


  • User Attivo

    @PaTeR said:

    session.cookie_lifetime
    e come la modifico?
    dal php.ini in hosting... non ho accesso!

    cmq per risolvere il problema del "ricordami" io uso una "Password di sessione":

    setto cookie con username e 1 numero generato (di 11 cifre ovviamente diversa dalla reale password, col rand() ) così l'utente quando torna ha una sua 2° password che io controllo dalla tabella delle sessioni l'esistenza della riga con l'username e la relativa password di sessione.

    che ne dici?


  • User Newbie

    Salve sono un mega neofita di php ma mi ha incuriosito cercando la gestione utenti sono cappato qua. Chiedo gentilmente per pura curiosità se qualcuno ha un link o una informazione dove cercare come costruire in php una gestione utenti assegnando gruppo e privilegi in php e mysql.
    Attendo info.
    Grazie ancora in anticipo.
    Ciao a tutti e buon lavoro


  • User Attivo

    Se proprio bisogna salvare in un cookie i dati di autenticazione, bisogna fare in modo che il cookie non sia leggibile dal proprietario (l'utente, e quindi eventuali sniffer) e possibilmente che non sia trasportabile (es. copio il cookie dell'utente sulla mia macchina e gli ho rubato l'accesso).
    E sempre, sempre, utilizzare algoritmi di cifratura decentemente robusti (md5 non lo è, magari sha256 o sha512).

    Luca


  • User

    Io in genere salvo una chiave generata random come cookie per l'utente che insieme ad altri dati formano la chiave completa che viene registrata nel database.
    Quando l'utente accede prelevo il cookie con la chiave che insieme agli altri dati genera il token completo che mi servirà per effettuare la ricerca nel database se trova un risultato aggiorno l'utente come autenticato.
    Logicamente sta all'utente stare attento a non farsi rubare il cookie cliccando url malevoli ecc.
    Io per conto mio nella chiave registro dati che mi possono servire per capire se l'utente è davvero quello che ha effettuato il login oppure no come ad esempio il browser usato.

    Spero di essermi spiegato bene XD sono un pò negato nel spiegare le cose....