Dieses Projekt stellt ein relativ einfach gehaltenes objektorientiertes und datenbankbasiertes Login-Script dar, das mit PHP umgesetzt wurde.

Die wesentlichen Features sind:

  • kostenlose Registrierung sowie Login
  • Zugang zu einem gesperrten/geheimen Bereich
  • Verwaltung der eigenen Profilinformationen, wie z.B. Benutzername, E-Mail und Passwort
  • Zurücksetzen des Passworts, z.B. wenn man es vergessen hat (seit v2.0)
  • Registrierung und Login mit Google und Twitter als Alternative zur klassischen Variante (Google seit v1.5, Twitter seit v1.6)

Wie du siehst, ist dies also ein gutes Beispiel dafür, wie man beispielsweise einen Mitgliederbereich auf einer Website implementieren könnte.

Wichtig zu wissen ist dabei, dass das Login-Script auf keinerlei Framework im Backend basiert. Es wird lediglich die Google API Client Library for PHP sowie die PHP Library Codebird verwendet, um eben die Registrierung und den Login mit Google bzw. Twitter zu ermöglichen. Für die Datenbankanbindung wird dann wieder auf Marke Eigenbau zurückgegriffen, um genau zu sein auf diese Datenbank-Klasse. Nähere Informationen zu dieser Datenbank-Klasse könnt ihr auch hier auf meiner Website finden.

Ansonsten liegt der Fokus bei der Entwicklung dieses Login-Scripts natürlich ganz klar beim Punkto Sicherheit. Hierbei wird auf moderne Sicherheitsstandards geachtet, um z.B. die Passwörter der Nutzer zu schützen. Des Weiteren wird eine Verifizierung der E-Mail-Adresse vorausgesetzt, sodass sichergestellt ist, dass dort tatsächlich ein Nutzer vor dem PC sitzt, der ein ernsthaftes Interesse an dem Mitgliederbereich oder ähnlichem hat und nicht irgendwelche schwarzen Schafe durchrutschen.

Mit Version 2 des Login-Scripts wurde der komplette Code umgeschrieben und ist nun objektorientiert organisiert. Des Weiteren wurde ein Feature zum Zurücksetzen des Passworts hinzugefügt, sollte man sein Passwort mal vergessen haben und sozusagen in dringende Not geraten. Ebenso neu in Version 2 ist das Design, was ein wenig überarbeitet wurde und jetzt auf dem Framework Bootstrap in Version 4 basiert. Darüber hinaus wurde das Login-Script auch um den Support von dem neuen Passwort-Hashing-Algorithmus Argon2 erweitert. Über diesen habe ich im Rahmen meines Artikels über die Neuerungen von PHP 7.2 bereits schon mal geschrieben. Wer also noch nichts davon gehört hat, sollte dort dringend mal vorbeischauen. Eine kleine Änderung, was die Abhängigkeiten betrifft, hat sich auch beim E-Mail-Versand eingeschlichen. So setzt das Login-Script ab Version 2 auf den SwiftMailer.

Für die Zukunft kann ich mir vorstellen, dass ich noch die Architektur des ganzen Projekts überarbeite, und dementsprechend vor allem noch Änderungen am Backend vornehmen werde. Hingegen sichtbare Änderungen wird es eher weniger geben. An neuen Features, die eben für den Enduser erkennbar sind, könnte zukünftig höchstens noch eine 2-Faktor-Authentifizierung erscheinen. Damit wäre das Login-Script dann aber auch mehr oder weniger vollständig.

Wenn du immer auf dem Laufenden bleiben möchtest, empfehle ich dir das GitHub-Repository als zentrale Anlaufstelle. Ansonsten wird es sicher auch ab und zu das eine oder andere Update hier auf jr-cologne.de oder auf Twitter dazu geben.