Visualizzazione risultati 1 fino 4 di 4

Discussione: Per l'autenticazione utente meglio usare sessioni o cookie?

  1. #1
    Guest

    Predefinito Per l'autenticazione utente meglio usare sessioni o cookie?

    Salve a tutti,
    sto creando un sito che per visualizzare alcuni contenuti ha bisogno di autenticazione; per questo scopo mi conviene utilizzare le sessioni o i cookie? Io preferirei usare i cookie, perché posso impostare il valore della durata. Con le sessioni è possibile fare una cosa del genere? E infine, se uso i cookie, ci sono problemi di sicurezza? (questo è il punto che mi interessa di più).

    Grazie in anticipo!

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,266

    Predefinito

    Sicuramente le sessioni.

    I cookie, visto che vengono salvati lato client, sono molto facilmente modificabili/leggibili.
    I dati delle sessioni sono salvati lato client, quindi l'utente non può in alcun modo manipolarli. Il legame tra client e server è dato dal SID, una chiave univoca random (penso), salvata in un cookie. Il server, conoscendo il SID, può associare i dati salvati dell'utente.

    Per la durata, forse, potresti usare session_cache_expire(), ma è meglio salvare (ad esempio) nella sessione, il timestamp di creazione. Quindi, se time() - $_SESSION['tempo_inizio'] < K (dove K lo puoi decidere te), allora ...

    Impostare la data di scadenza nei cookie, è facilissimamente aggirabile, perché, come detto sopra, l'utente può gestirli come vuole, visto che vengono salvati lato client.

    Ciao!

    Ciao!

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Sicuramente le sessioni.

    I cookie, visto che vengono salvati lato client, sono molto facilmente modificabili/leggibili.
    I dati delle sessioni sono salvati lato client, quindi l'utente non può in alcun modo manipolarli. Il legame tra client e server è dato dal SID, una chiave univoca random (penso), salvata in un cookie. Il server, conoscendo il SID, può associare i dati salvati dell'utente.

    Per la durata, forse, potresti usare session_cache_expire(), ma è meglio salvare (ad esempio) nella sessione, il timestamp di creazione. Quindi, se time() - $_SESSION['tempo_inizio'] < K (dove K lo puoi decidere te), allora ...

    Impostare la data di scadenza nei cookie, è facilissimamente aggirabile, perché, come detto sopra, l'utente può gestirli come vuole, visto che vengono salvati lato client.

    Ciao!

    Ciao!
    Anzitutto grazie per la risposta;
    beh allora userò le sessioni.. ma ancora non ho capito questo fatto del tempo.. come lo devo definire? puoi farmi per favore un esempio più completo? Un'altra cosa: con le sessioni come posso fare il classico "ricorda login" presente in tutti i siti? Con i cookie era possibile impostando un tempo pari, ad esempio, a un anno.. ma con le sessioni è la stessa cosa? Credo che la sessione si annulli automaticamente al cambio dell'IP dell'user, giusto?

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,266

    Predefinito

    Per il "ricorda", vanno comunque usati i cookie.

    Per il tempo, se non lo definisci, le sessioni resteranno fino alla chiusura del browser. Per prolungare questa durata sinceramente non l'ho mai fatto, però penso si possa fare con la funzione che ti ho linkato sopra.

    -----

    Se vuoi un esempio, potresti prendere spunto da questo.

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •