Login ricordante postato il 03/04/2009 10:45:04 nel forum programmazione, gdrcd, open source, hosting e modificato da blancks il 03/04/2009 11:01:48
Si è discusso di come rendere un login sicuro a tecniche di sniffing, ora il mio quesito è quello di fare un modulo ricordante sicuro.
Personalmente avevo pensato una cosa del genere:
- All'atto della registrazione mi viene creato l'utente con la pass criptata in sha1 e una stringa alfanumerica random unica solo per lui.
- Quando fa il login e spunta il ricordante io salvo nel cookie le seguenti informazioni:
id | hash( sha1(pass) + stringa random unica per pg)
- Quando l'utente torna sul sito, faccio la ricerca per id, prelevo pass e stringa random dal db, ricompongo l'hash e confronto con quello nel cookie, se corretto procedo con l'autenticazione.
Ora, in termini di sicurezza, ritenete possa essere sicura una cosa del genere oppure avete suggerimenti ?
Pagine → 1
03/04/2009 11:23:05
Io non manderei mai al client la password anche se criptata ...
Io gestirei piuttosto un sistema di sessioni usa e getta ovvero
Una tabella su gd con i campi
id_utente
id_sessione
expire
dove:
id_utente è l'id del pg
id_sessione è una stringa alfanumerica casuale lunga 50-100 caratteri
expire è oggi + una settimana ad esempio
quando faccio login e spunto la casella di "memorizza login" creo un record sulla tabella ed un cookie contente id utente ed id sessione.
Quando ritorno sul login eseguo in sequenza:
- query che ripulisce la tab sessioni dai record scaduti
- se c'è un cookie lo cerco sulla tabella
- se trovo la corrispondenza aggiorno l'expire su db e faccio login diretto
- altrimenti cancello l'eventuale cookie scaduto/fasullo e mostro la normale schermata di login
Tsu
03/04/2009 11:41:45 e modificato da blancks il 03/04/2009 11:44:47
03/04/2009 11:48:39 e modificato da tsumi il 03/04/2009 11:57:50
No purtroppo non è equivalente
password random ed id sono fissi nel tempo (l'unica che potrebbe cambiare è la password, ma è altresì vero che la password non viene cambiata spessissimo ... non ogni settimana almeno).
Quindi non importa se mi è impossibile decifrare il tutto, anche averlo cifrato mi basta per loggarmi.
Mi basterebbe conoscere questa stringa e crearmi un cookie ad hoc per loggarmi.
Il mio sistema delle sessioni usa invece solo l'id come valore fisso (che peraltro non è manco segreto) + una stringa casuale e valida solo per un tempo limitato. Anche venisse rubata basta essere fuori dal tempo di expire perchè sia del tutto inutile
EDIT:
Se fai rigenerare la stringa ad ogni login ha già più senso. Però c'è un però ... se ti logghi da più pc finisci ogni volta per invalidare la sessione dell'altro rigenerando la stringa casuale. Avendo invece una tabella puoi avere più sessioni per più pc/browser indipendenti.
03/04/2009 15:38:35
03/04/2009 15:38:35 e modificato da blancks il 03/04/2009 15:39:19
03/04/2009 16:42:01
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Hero Wars: L'inverno è arrivato ancora una volta!🎄
Il gestore di Lubecca ha risposto alla recensione di mark90
Tibia → Tibia è un MMORPG gratuito online dal 1997 e con migliaia di utenti connessi! Riscopri il divertimento old style!
RAID Shadow Legends: Campioni di Dicembre
Extremelot: Vestalia: una intelligenza artificiale per LOT
Black Sails Chronicles: ON - Mastro Corvino
War Thunder → Aviazione, veicoli corazzati e flotte militari della seconda guerra mondiale. Parteciperai a tutte le principali battaglie!
Lubecca: Gilda Imperiale "Asburgo"
Il gestore di Lubecca ha risposto alla recensione di kirokiro
I dati del generatore di rank sono stati aggiornati!
CRSED: F.O.A.D. → Brutale sparatutto MMO in cui vince l'ultimo giocatore che resta in vita! Il giocatore sarà accompagnato da armi realistiche e magie!
lord_wilpeg ha recensito Whispers of the Sword Coast
Il gestore di Undead ha risposto alla recensione di rob88lagrua
Il gestore di Undead ha risposto alla recensione di starbuck
Crossout → Tuffati nel mondo di Crossout, il gioco MMO d'azione post apocalittico! Costruisci le tue speciali macchine da combattimento!
