D'accordo..
So poco di questi cookie, possono essere "a vita" (tranne nel caso in cui l'utente faccia una pulizia del browser), così da poter fare la funzione "ricordami"?
@Webmaster76 @chumkiu
D'accordo..
So poco di questi cookie, possono essere "a vita" (tranne nel caso in cui l'utente faccia una pulizia del browser), così da poter fare la funzione "ricordami"?
@Webmaster76 @chumkiu
Perfetto! Ce l'ho fatta!
Ve lo dico come ho fatto il token..
$token = security_crypt($time.$security_hash.$time.$id.$pas sword);
$security_hash è un hash md5, risultato da più codificazioni ("frase" -> md5 -> md5 -> sha1 -> base64 -> base64 -> base64 -> sha1 -> md5) (si, son matto), e non verrà mai cambiato, tranne tre volte all'anno nella speciale manutenzione nella quale verranno anche distrutte tutte le sessioni.
security_crypt() è una semplice funzioncina che uso per codificare password e hash passando il valore in entrata più volte (come $security_hash).
Grazie mille per le delucidazioni e l'aiuto! :-)
Ottimo.
Però non ti conviene tenere le sessioni così lunghe secondo me... si devono autodistruggere e cambiare, anche per questione di sicurezza e performance, tantopiù che non ti servono.
Io preferisco generare/memorizzare un token random molto complesso direttamente in database (questo per evitare ogni riferimento a username e password) ed utilizzare questo per il cookie.
In ogni pagina poi controllo in ordine:
1) se esiste una sessione valida (con più criteri, ad esempio l'ip e l'user agent)
2) se esiste un cookie che permette l'autologin (e se valido, cambio il token in db e sul cookie)
3) se ci ci sono troppi tentativi errati blocco l'ip per 1 ora
4) faccio i redirect al login oppure al contenuto della pagina
![]()
Un nuovo cms/framework... vuoi collaborare al progetto?