Kom ihåg mig?

"Kom ihåg mig" - säkraste sättet

 
Ämnesverktyg Visningsalternativ
Oläst 2009-08-22, 14:25 #1
BoXon BoXon är inte uppkopplad
Flitig postare
 
Reg.datum: Sep 2007
Inlägg: 391
BoXon BoXon är inte uppkopplad
Flitig postare
 
Reg.datum: Sep 2007
Inlägg: 391
Question "Kom ihåg mig" - säkraste sättet

Hej!

Sitter och programmerar en inloggning som jag vill ska ha en "kom ihåg mig" funktion.

Jag funderar dock vad som är säkrast att göra? Min ide just nu är att lagra
användarens uppgifter i hans egen cookie fil, och med dessa sedan göra en
virtuell inloggning (och med en session kontrollera att detta bara görs vid första besöket, och inte vid varje uppdatering). Och sedan som vanligt sätta
en session som dör när man stänger sidan. Min sida går ju så säker som den
kan, men hur är det med användarens säkerhet?

Förslag och synpunkter mottages.
BoXon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-22, 14:46 #2
_Michael_ _Michael_ är inte uppkopplad
Medlem
 
Reg.datum: Apr 2008
Inlägg: 57
_Michael_ _Michael_ är inte uppkopplad
Medlem
 
Reg.datum: Apr 2008
Inlägg: 57
En bra idé kan vara att i användarens cookie endast spara en nyckel (ej kopplad till användarens lösenord) och i db:n spara t.ex. dennes user agent.
Det försvårar för någon som kommit över användarens cookie att själv logga in med den.
Varje gång som någon gör en "vanlig" inloggning med sitt användarnamn samt lösenord kan man i databasen då spara en ny nyckel och user agent vilket gör den tidigare cookien inaktuell. Låt oss säga att användaren sitter på en dator där andra har tillgång (Internetcafé eller vad som helst) och av misstag/okunskap valt att bli ihåg kommen, då löser det sig självt när användaren loggar in på nästa ställe. För de som vill använda funktionen på t.ex. både hemmet och arbetet uppstår såklart problem...
_Michael_ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-22, 16:03 #3
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Spontant tycker jag inte att man ska lagra annat än en nyckel i användarens kakburk, själva inställningarna lägger man i databas eller dylikt.
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-22, 16:04 #4
BoXon BoXon är inte uppkopplad
Flitig postare
 
Reg.datum: Sep 2007
Inlägg: 391
BoXon BoXon är inte uppkopplad
Flitig postare
 
Reg.datum: Sep 2007
Inlägg: 391
Borde detta kunna fungera bra då?

Kom ihåg mig:

1. Generera en sträng med slumpade tecken
2. Spara tecknen & user agent i databasen
3. Sätt en cookie med samma tecken
4. Skapa en session för användaren

Vid nästa besök:

Finns en cookie men ingen session:
1. Kolla om den matchar någon med samma ID & user agent.
2. Gör den det: Skapa en session för användaren & generera ny sträng som sparas i cookien & databasen
Om inte: Ta bort cookien.
BoXon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-22, 16:18 #5
_Michael_ _Michael_ är inte uppkopplad
Medlem
 
Reg.datum: Apr 2008
Inlägg: 57
_Michael_ _Michael_ är inte uppkopplad
Medlem
 
Reg.datum: Apr 2008
Inlägg: 57
Citat:
Originally posted by BoXon@Aug 22 2009, 15:04
Borde detta kunna fungera bra då?

Kom ihåg mig:

1. Generera en sträng med slumpade tecken
2. Spara tecknen & user agent i databasen
3. Sätt en cookie med samma tecken
4. Skapa en session för användaren

Vid nästa besök:

Finns en cookie men ingen session:
1. Kolla om den matchar någon med samma ID & user agent.
2. Gör den det: Skapa en session för användaren & generera ny sträng som sparas i cookien & databasen
Om inte: Ta bort cookien.
Mycket säkrare än så är det nog svårt att få en kom ihåg mig-funktion
_Michael_ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-22, 16:19 #6
SimonPs avatar
SimonP SimonP är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2006
Inlägg: 832
SimonP SimonP är inte uppkopplad
Mycket flitig postare
SimonPs avatar
 
Reg.datum: May 2006
Inlägg: 832
Att enbart använda User Agent som salt ger inte speciellt mkt säkerhet, lägg även på IP-nr så får du en betydligt säkrare "kom ihåg".
SimonP är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-22, 16:21 #7
_Michael_ _Michael_ är inte uppkopplad
Medlem
 
Reg.datum: Apr 2008
Inlägg: 57
_Michael_ _Michael_ är inte uppkopplad
Medlem
 
Reg.datum: Apr 2008
Inlägg: 57
Citat:
Originally posted by SimonP@Aug 22 2009, 15:19
Att enbart använda User Agent som salt ger inte speciellt mkt säkerhet, lägg även på IP-nr så får du en betydligt säkrare "kom ihåg".
Sant men väldigt många användare får då problem för att de har dynamiskt IP...
_Michael_ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-22, 16:40 #8
crazzys avatar
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2007
Inlägg: 1 089
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
crazzys avatar
 
Reg.datum: Aug 2007
Inlägg: 1 089
Citat:
Ursprungligen postat av _Michael_
Citat:
Ursprungligen postat av SimonP
Att enbart använda User Agent som salt ger inte speciellt mkt säkerhet, lägg även på IP-nr så får du en betydligt säkrare kom ihåg.
Sant men väldigt många användare får då problem för att de har dynamiskt IP...
Jag har dynamiskt ip, men jag har haft samma ip sen jag flyttade hit... (ett halvår)
crazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-22, 16:42 #9
BjörnJ BjörnJ är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2009
Inlägg: 971
BjörnJ BjörnJ är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2009
Inlägg: 971
Hur lång bör nyckeln vara? Minst 128 bitar antar jag.

Bör man även sätta user-id (eller annan unik integer) som cookie och i "auto-login-tabellen"? Alltså för att ha en indexerad integer att söka efter i databasen.

Det kan nog vara bra att spara giltighetstid också i databasen.

Man kanske även bör ha koll på om det kommer många inloggningsförsök med olika nycklar från samma IP inom en viss tid.

Angående att spara user agent så höjer det förstås säkerheten, men som sagt kan det ställa till problem om användaren vill ha autoinloggning både på jobbet och hemma, eller om hen har flera olika webbläsare på sin dator.

Cookien kanske bör ha en viss giltighetstid som aldrig förnyas, så att cookien kommer att försvinna efter ett tag från publika datorer om någon skulle ha gjort misstaget att vällja "kom ihåg inloggning" på en sådan dator. När cookiens gilitighetstid tar slut raderas den och användaren blir tvungen att logga in igen.

Om användaren väljer att logga ut bör cookien raderas.
BjörnJ är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-08-22, 16:47 #10
Draqir Draqir är inte uppkopplad
Medlem
 
Reg.datum: May 2009
Inlägg: 125
Draqir Draqir är inte uppkopplad
Medlem
 
Reg.datum: May 2009
Inlägg: 125
User agent är inte direkt alltid statiskt. Beror på vad du har för ISP, ibland kan det växla under bara ett enda request. :P
Draqir är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 14:47.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017