webForumDet fria alternativet

Hur skapar jag ett bra system för användarsessioner?

Webbutveckling

1 svar · 869 visningar · startad av erciz

Medlem sedan maj 20011 826 inlägg
Frågan#1

Jag tänkte använda mig av cookies för att hantera användarsessioner. Jag har kollat runt lite men det finns många olika sätt att implementera det.

Hur rekommenderar ni att man skapar ett sånt system?

Min tanke just nu är att lagra följande i cookien:

<användar-id> <uuid-token>

På servern sparar jag det i en databas-tabell, med kolumnerna:

användar-id | uuid | used

Och för varje http-request så genererar jag en ny uuid-token, och markerar den gamla som använd. De kan alltså bara användas en gång.

Vissa verkar kryptera cookien, så att den inte kan ändras. Men behövs verkligen den om mina är slumpade (UUID) och bara används en gång?

Vissa verkar också bara spara en hash av token i databasen. Det låter också lite för mycket. Det skulle skydda emot om nån kom åt databasen och kapar inloggningar. Men då har de förmodligen redan tillgång till allt i databasen så jag förstår inte vad det ska skydda emot.

Några förslag/reflektioner?

Man kanske ska sätta nån rimlig tidsgräns på cookien kanske, typ 30dagar också.

Medlem sedan juni 20014 290 inlägg
#2

I vilket språk?

Ex. PHP har inbyggda funktioner för detta.

Men varför ändra uuid för varje http-request? en sida genererar oftast flera http-request.

Var tänker du spara dom andra variablerna som man oftast vill skall hänga med i en session?

247 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)