Citat:
Originally posted by FredrikMH@Mar 28 2006, 12:04
Jag funderar lite över säkerheten i mitt system (som ännu ej är i bruk).
Det är så att jag använder session_register() på ett objekt av klassen User. Där användarnamn, lösenord osv finns lagrat. Detta för att jag vill på ett enktelt sätt komma åt all användarinformation på alla kommande sidor. Nu undrar jag om jag behöver kolla Objektet som kommer tillbaka så det inte har ändrats av användaren. Exemeplvis innuti objektet finns information lagrad om användaren är en vanlig användare, moderator eller en administratör.
Finns det möjlighet för användaren att modifiera detta och på så sätt skapa säkerhetshål i mitt script? I så fall behöver jag kontrollera all kritisk data överst i varje fil.
|
Du bör, som i alla andra fall, aldrig lagra ett lösenord i klartext. Ifall du har ett krypterat lösenord så tappar det sitt säkerhetsvärde. Med andra ord, spelar ingen roll om någon "får tag i det".
Du kan fortfarande autenticera mot det.
Jag brukar göra så här i en funktion för autenticering:
Ta användarnamnet som användaren skickar in,
Skapa en factory med användarobjekt (jag har få användare),
Hämta objektet med användarnamnet användaren skickade in,
Kryptera lösenordet användaren skickade in med lösenordet i användarobjektet jag fick som salt,
Om resultaten är samma som lösenordet i användarobjektet returnera objektet, annars null.
Sen i applikationen, om sessionen har ett userobjekt som inte är null, är användaren inloggad, annars inte.