Jag ska bygga ett system där ett mail vid ett visst tillfälle skickas ut till en användare som då via en länk ombeds bekräfta, eller ändra och sen bekräfta, vissa uppgifter. Som ett vanligt aktiveringsmail man brukar få när man blir medlem på forum t ex, bara det att när man klickat på länken i mailet så kommer man till en sida där man får ta del av information som man kan ändra och sen bekräfta.
För att detta ska fungera så bör sidan man kommer till vara säkrad på något sätt, det bästa är väl antagligen en inloggningsfunktion men jag vill helst slippa det. Men t ex skulle sidan man kommer till kunna känna av om querystringen i URL:n (eller via POST) innehåller en MD5:ad e-postadress som stämmer överens med den person som ska kunna bekräfta informationen (den e-postadressen finns alltså redan inlagd i en DB).
Men, vad bör jag tänka på när jag bygger detta? Vilka risker finns? Jag skulle helst vilja att man ska kunna besöka länken fler gånger. Är det säkert att bara identifiera via en krypterad e-postadress i en querystring eller med post?
Men, vad bör jag tänka på när jag bygger detta? Vilka risker finns? Jag skulle helst vilja att man ska kunna besöka länken fler gånger. Är det säkert att bara identifiera via en krypterad e-postadress i en querystring eller med post?
Tänk så här; om du visste att nyckeln var en hashad e-postadress (inte krypterad - MD5 är inte kryptering), hur svårt skulle det vara för dig att logga in på nån annans konto? Inte särskilt.
Bättre är i sådana fall att tilldela varje användare ett slumpat värde (en GUID, en framslumpad sträng, vadsomhelst så länge som det är oförutsägbart och svårt att slumpa fram ett likadant värde) som sedan tillsammans med användar-ID:t (e-postadressen, eller vad du nu använder) används för att logga in användaren. Enkelt uttryckt - du slumpar fram ett lösenord. Ge sen användarna möjlighet (eller tvinga dem efter första inloggningen) att byta lösenord så har du väl ett rätt hygglig säkerhet.
247 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9