Citat:
Ursprungligen postat av BoXon
Jo men om användaren valt att vara ihågkommen på ett annat ställe och blir bannad så snart som den gamla (och ytterst ovetande) cookien försöker att logga in honom är kanske inte så bra.
|
Man bannar inte användaren.
Kanske så här någonting? (Föreslå gärna förbättringar.)
auto-login-tabell:
user-id (indexerad), ip (16 första bitarna), nyckel (>=128 bitar)
(eventuellt även giltighetstid och user agent)
Man sparar user-id och nyckel som cookies.
När cookie-inloggningsförsök sker:
Kod:
if(user-id och IP finns i auto-login-tabellen)
{
if(nyckel korrekt)
logga in automatiskt
else
{
radera raden från DB
radera cookie
banna IP för autoinloggning (under en viss tid), vanlig inloggning fungerar fortfarande
}
}
else
{
radera cookie
banna IP för autoinloggning (under en viss tid), vanlig inloggning fungerar fortfarande
}
Citat:
Ursprungligen postat av BoXon
Chansen att en hacker på 3 försök skulle lyckas använda exakt samma user agent, samma ip-range och dessutom lyckats gissa rätt på den unika-slumpmässiga hashen borde ju vara en chans på bara någon promille?
|
Angående risken skulle jag säga att "någon promille" är extremt stor risk i det här sammanhanget. I det här fallet är dock risken betydligt mindre än så, men den ökar förstås rejält om angriparen kommer över cookien.
|