12. marts 2009 - 13:41Der er
6 kommentarer og 2 løsninger
Sikkerhed med cookies? "Gem login"
Hej alle,
Når man logger ind via. en formular, ligesom eksempelvis på Facebook og her på Eksperten, hvor man har mulighed for at hakke af i "Log mig ind automatisk", er der så ikke en sikkerhedsrisiko forbundet ved det? Jeg tænker på cookien man laver, den er jo tilgængelig hvis man bare finder og kigger i den, så hvordan gemmer man brugerens password osv. uden at det komprimitterer sikkerheden?
Jeg har ikke den endegyldige super sikre løsning, men et forslag kunne være:
1. gem et tilfældigt genereret token i cookien, som identificerer brugerens loginoplysninger på serveren
2. på serveren gemmes, for brugerens token, oplysninger om brugerens IP, useragent og hvad man ellers kan finde på at gemme om klienten, der kan gøre livet besværligt for en person der måtte ønske at misbruge det gemte token. Når en bruger klikker ind på siden, checkes der op mod de oplysninger du har gemt.
Metodens svaghed er, at hvis brugeren har dynamisk IP-adresse eller ændrer sin useragent-streng (f.eks. installerer en plugin eller noget i den stil), så skal denne logge ind påny, så IP-adresen skal måske bruges til identifikation med omtanke...
Man gemmer naturligvis aldrig koden eller anden følsom information i cookies. Dem der gør burde piskes med en våd søndagsberlinger ;)
Du kan f.eks. gøre det ved at gemme brugerens ID, sammen med et tidsstempel og en checksum. Checksummen kan f.eks. laves ved at MD5-hashe brugerens ID, tidsstemplet og en hemmelig "salt".
Når du så checker cookien, tager du ID'et, tidsstemplet og hasher med din salt, og ser om du får samme resulat som checksummen i cookien - Gør du, er den gyldig, ellers ikke :)
Jeg ville da også foretrække en løsning som kan klares uden at der skal vedligeholdes noget info (ud over algoritmen for at afkode nøglen), så coderdk, tak fordi du lærte mig noget "nyt" idag :D
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.
Det er blevet kaldt ”det største it-nedbrud i historien” og omkostningerne kan nemt løbe op i syv milliarder kroner: Men hvem skal betale for Crowdstrikes fejl?