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
Il gestore di Undead ha risposto alla recensione di veluterio
Il gestore di Undead ha risposto alla recensione di neropallido
Hero Wars → Costruisci la tua squadra di eroi leggendari e domina il campo di battaglia! Strategia, tattica e potenza si scontrano in questo RPG ricco di azione!
The Line: Ultimo aggiornamento del Betatest
Le Cronache di Raja Dunia: Gran Torneo di RDT!
The Coven → Negli scorci di luce delle paludi della Louisiana fioriscono nuove ombre. Estend e la Congrega ti aspettano per vivere emozionanti avventure!
RAID Shadow Legends: Programma per chi desidera reclutare Yukimasa
Betsu No Tamashi ricerca Tester
Piume Nere: 🎅🎁✨Festa dell'Avvento ✨🎁🎅
Black Sails Chronicles: ON - 2° Ricognizione a Nord
New Orleans → La Città dai Mille Volti: Crime, Feste, Mistero, Voodoo, Natura Incontaminata, Fama, Grattacieli, Luci Splendenti e Ombre Profonde.
I dati del generatore di rank sono stati aggiornati!
Black Sails Chronicles: ON - 1° Ricognizione a Nord
sadwick ha recensito Cyberpunk NbG Re-Coded
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
