für ein Loginsystem in PHP speichere ich folgende Daten in Cookies:
- ID des Benutzers
Warum?
- Passwort des Benutzers als MD5-Hash
Warum?
- Sitzungs-ID des Benutzers als MD5-Hash (über diese ID werden zuvor zusammengestellte Daten in einer Datenbank abgerufen).
Jo, gut.
Nun sagt man mir, das sei keine besonders sichere Methode, vor allem, dass ich den Passwort-Hash speichere sei eine große Sicherheitslücke. Doch die Frage, die sich stellt ist, wie soll man es besser machen?
Du hast doch eine Sitzung (repräsentiert durch eine eindeutige Kennung, die roundtrippt), die wird doch irgendwann authentifiziert und der Nutzer autorisiert. Nun, also speichere diese Information lokal oder gebe diese immer schön weiter. Machst Du ja auch, gut.
Oder muss ich die Kritik nicht ganz so ernst nehmen, denn ich habe festgestellt, dass moderne Boardsoftware (eine davon hatte dieses Jahr noch keine schwerwiegende Sicherheitslücke) die selbe Methode verwendet.
Hüstel. Passwort als MD5-Hash speichern und die Benutzer-ID? Warum denn?
Gibt es allgemein Verbesserungsvorschläge oder Anregungen zu dieser Methode?
Ja, die oben beschriebene Vereinfachung.