Just nu i M3-nätverket
Gå till innehåll

Medlemslogin


Starre

Rekommendera Poster

Hej alla!

 

Jag projekterar just nu för ett medlemslogin. Skulle någon i stora drag vilja förklara principen för hur det kan fungera?

 

Jag använder mig av PHP och mySQL.

 

Att lagra alla användaruppgifter i en databas är inga problem men hur ska själva verifikationsprocessen se ut vid inloggning och är det verkligen bra att lagra lösenorden i okrypterat skick i databasen?

 

Tacksam för all information inom det här området.

 

Poäng utlovas för bra och vägledande inlägg! :)

 

[inlägget ändrat 2003-04-13 16:21:55 av Starre]

[inlägget ändrat 2003-04-13 16:29:51 av Starre]

Länk till kommentar
Dela på andra webbplatser

är det verkligen bra att lagra lösenorden i okrypterat skick i databasen?
Nej. Lagra endast krypterade lösenord. I mySQL krypterar du tex med funktionen PASSWORD(). http://www.mysql.com/doc/en/Miscellaneous_functions.html#IDX1336

 

I verifikationsprocessen jämför du det av användaren inmatade lösenordet med det krypterade. Detta gör du genom att på samma sätt kryptera det inmatade lösnordet med PASSWORD() och jämföra "slutprodukten".

 

PASSWORD() kan endast köras åt ett håll. Dvs när du en gånt krypterat ett lösenord så kan du inte få den tillbaka i klartext.

 

Varför ska man då kryptera lösenord i databasen?

 

Det frågade jag mig också en gång men fick lära mig att många användare har samma lösenord på flera olika ställen. Skulle då någon komma åt din databas och de okrypterade lösenorden skulle risken vara stor att man kom åt dina användares e-post osv...

 

 

_________

TicoRoman - The One And Only

 

 

[inlägget ändrat 2003-04-13 16:38:37 av TicoRoman (Almir)]

Länk till kommentar
Dela på andra webbplatser

  • 4 years later...
Note: The PASSWORD() function is used by the authentication system in MySQL Server; you should not use it in your own applications. For that purpose, consider MD5() or SHA1() instead.

 

Det står att Password() är ett envägs kryptering. Vilket verkar väldigt bra, då man inte kan få ut lösenordets orginalform.

 

Eftersom man rekommenderas att inte använda Password() som kryptering, så borde det finnas något annat bra?

 

Jag är ute efter envägskryptering.

 

Länk till kommentar
Dela på andra webbplatser

For that purpose, consider MD5() or SHA1() instead.

 

Notera dock att både MD5 och SHA-1 har kända svagheter (men SHA-1 är fortfarande hyfsat säker, medan MD5 bör undvikas om man vill ha säkerhet).

 

Bland de krypterings- eller hashningsfunktioner som finns implementerade i MySQL är AES den starkaste: http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html#function_aes-encrypt

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...