Tach!
Richtig, das Thema ist notwendigerweise komplex. Deswegen würde ich alles weglassen, was auf die notwendige Komplexität noch unnötige draufsetzt.
In der Hinsicht sollte die Frage in den Raum geworfen werden, wie weit wir gehen wollen.
* Komplette Lösung?
* Nur ein Anriss?
Was ist für ein aktuelles Login-System zwingend notwendig? Ein User muss sich neu anmelden können mit Username und Passwort, und er muss sich einloggen und dabei das Passwort geprüft kriegen.
Das ist der Stand der Dinge.
password_needs_rehash().
Oha! Das schafft einen völlig neuen Punkt und einen völlig neue Diskussionsbedarf:
* Das Passwort im Hintergrund schweigend neu hashen
* und/oder (auch zu diskutieren!)
* den Benutzer hinsichtlich des schwach gehashten Passworts warnen und ein neues eingeben lassen. Bitte auch an die Verwirrung der Benutzer und die "Kommerzköppe" denken.
Und natürlich das Prüfen des Passworts auf Komplexität
Woll. Das dann gleich mit.
Das Speichermedium für die User steht nicht im Mittelpunkt.
Hab ich gelesen. Mal sehen, was die anderen dazu sagen.
Die auszuliefernden Inhalte auch nicht.
Naja. Ohne den Schutz auch auf andere Dateien (Pics, Medien, Downloads) auszudehnen macht das nicht so viel Sinn - oder? Meinst Du das überhaupt?
Die Fallback-Lösung für PHP-Versionen kleiner 5.5 ebenfalls nicht (das ist ein Einzeiler mit "Lad die Kompatibilitätslib runter und rufe am Anfang einmal
require_once(libdatei.php)
auf."). Das sind alles Themen für andere Artikel drumherum.
Hier bin ich ziemlich fest anderer Meinung und habe dafür nach meiner Meinung auch gute Gründe: Wir schreiben den Februar anno 2015. Viele haben in dieser Realität bei ihrem Hoster noch kein PHP 5.5 oder jünger. Ich halte es für keine gute Idee Skripte anzubieten, die bei denen (noch) nicht laufen. Das würde einen Ansehensverlust und eine Menge Rückfragen - nicht nur hier im Forum - nach sich ziehen.
Jörg Reinholz