Ein sicheres Loginscript für deine Website

Loginscript

Möchtest du einen sicheren Login-Bereich für deine Website erstellen? Dann bist du hier genau richtig! In diesem Artikel erfährst du, wie du MySQL und Sessions verwendest, um einen sicheren Login-Bereich zu erstellen.

Loginscript

<?php

// Hier kommt der Code

Datenbankstruktur

Zuerst musst du eine neue Tabelle in phpMyAdmin erstellen. Du kannst die gleiche Tabelle verwenden, die im MySQL-Tutorial beschrieben wird:

Loginscript

Als nächstes fügst du einen neuen Benutzereintrag in die Tabelle ein. Verwende dazu phpMyAdmin und trage die Daten eines Test-Benutzers ein, z.B. E-Mail: [email protected] Passwort: $2y$10$qCgb4MKzbMKAqUU2LOFBQ.wGoAD6yBElFA7V7EPwK.QGCViJjx4mu

Das Passwort ($2y$10$qCgb4MKzbMKAqUU2LOFBQ.wGoAD6yBElFA7V7EPwK.QGCViJjx4mu) ist der Hash-Wert für das Passwort “test”. Speichere Passwörter niemals im Klartext ab, sondern verwende immer Hash-Werte. Mehr Informationen zur sicheren Speicherung von Passwörtern findest du in unserem Artikel “Passwörter sicher speichern” sowie in unserem Tutorial “PHP Sicherheit”.

Um die password_hash()-Funktion zu nutzen, musst du mindestens PHP 5.5 verwenden. Falls du PHP >= 5.3.7 oder PHP 5.4 verwendest, lade die Datei “password.php” herunter und binde sie am Anfang deiner Scripts ein.

Dateiaufbau

Für dieses Beispiel benötigst du die folgenden Dateien:

Registrierung

Hier ist der vollständige Code für die Registrierung:

<?php

// Hier kommt der Code

Die Registrierung beginnt mit dem Aufruf von session_start() und dem Aufbau einer Verbindung zur Datenbank. Das Registrierungsformular wird nur angezeigt, wenn der GET-Parameter register=1 übergeben wird. In diesem Formular werden die Eingaben überprüft und die Registrierung durchgeführt.

Login

Die Login-Seite ist sehr einfach aufgebaut:

<?php

// Hier kommt der Code

Wenn das Login-Formular abgesendet wird, wird die E-Mail-Adresse in der Datenbank überprüft. Wenn ein Benutzer gefunden wird und das Passwort übereinstimmt, wird die Session-Variable userid mit der ID des Benutzers registriert.

LESEN  Minecraft | So vermehrst du Villager wie ein Profi!

Geschützter Bereich

Für den geschützten Bereich (geheim.php) musst du nur überprüfen, ob die Session-Variable userid existiert. Wenn nicht, wird der Benutzer darauf hingewiesen, sich zuerst zu registrieren.

Diesen Codeschnipsel musst du nur in jede deiner geschützten Seiten einfügen.

Logout

Wenn du auch einen Logout-Bereich haben möchtest, füge einfach den folgenden Code in eine neue Datei, z.B. logout.php, ein:

<?php

// Hier kommt der Code

Jetzt bist du bereit, einen sicheren Login-Bereich für deine Website zu erstellen. Viel Erfolg!

Autor: Nils Reimers