2 Meinungen zu “PHP-Klasse für den Nutzerlogin

  1. Man sollte nicht md5() fürs Speichern des Passworts nutzen. Gleiche Passwörter haben dann gleiche Hashes, und man kann mit Hash-Datenbanken relativ schnell das Passwort knacken, wenn man an die Hashes kommt. Am besten das Passwort mit crypt() verschlüsseln – dann ist der Hash zusätzlich gesalzen. Der Vergleich der Hashes ist dann auch trivial:
    if(crypt($passwort,$crypted_passwort)==$crypted_passwort) …
    -> man braucht den Salt nicht extrahieren – das macht crypt für uns.

  2. Diese Klasse hat ZWEI Probleme:
    1) Session-Hijacking (wenn jemand die Sesion-id hat, dann kann er die Sitzung übernehmen, da weder die IP noch der USER_AGENT überprüft wird)
    2) Wenn die jemand VORAB eine Session-id „unterjubelt“ (als GET-Parameter) dann verwendet PHP diese (ist so als fallback implementiert). Wenn du dich dann am System anmeldest, dann kann der Angreifer sich die Session holen, da die die ID nicht änderst. Um das zu verhindern MUSST die nach einem erfolgreichen Login IMMER eine neue Session-ID berechenen und verwenden!

Schreibe einen Kommentar

Ihre Email-Adresse wird nicht veröffentlicht. Pflichtfelder sind durch * markiert.

Sie können folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>