Just nu har jag lösenorden i klartext i databasen och skall som nästa setg i utvecklingen fixa det lite säkrare.
Har läst att man ska hasha lösenordet med t ex md5() eller sha1().
Sen skall man även salta lösenordet för att man inte skall kunna köra med directory attacks.
Saltet måste ju vara nåt känt värde. Vad vore ett bra värde för att använda som salt? Läste att vissa kör med användarnamnet som salt. När en användare sedan loggar in så läggs hans/hennes användarnamn till lösenordet och som sedan hashas. Är denna hash sedan samma som finns lagrad i databasen så får han/hon logga in.
Tänk på att inte skicka lösenordet i klartext till sidan som sedan hashar den bara...
Det borde väl egentligen inte ha någon betydelse? Skulle någon sniffa lösenordet och försöka sig på en replay-attack, så kan väl denne någon lika gärna skicka vad det nu är för värde som skickas för att bryta sig in.
Jag drar upp den här gamla tråden nu, men jag rört ihop det i skallen. När en avändare registrerar sig genereras dels ett lösenord som skickas till användaren i ett mail och dels ett salt som sparas i databasen, saltet är unikt för varje användare.
Lösenordet sparas som md5('passwd' . $salt);.
Hur gör jag när en användare ska logga in? Jag är så jävla dum, har inte tänkt på det här förrän jag försökte logga in en användare. Hur hämtar jag "rätt" salt?