Anfänger - Freitag, Februar 22, 2008 16:05

Sichere Passwörter mit PHP

ür jedes Communitysystem benötig man Passwörter damit sich die User sicher einloggen können. Leider wissen die meisten nicht wie so ein sicheres Passwort aussehen sollte und benutzen einfache Kombination wie der Vorname des Freund/Freundin. Bekannte können daraus sofort das Passwort herausfinden. Deshalb sollte man direkt bei der Anmeldung prüfen, ob das Passwort min. 6 Zeichen lang ist. Zusätzlich sollte das Passwort aus Text und Ziffern bestehen. Damit hat man schon eine Grundlage für ein Sicheres Passwort.

Doch wie Prüfe ich ob ein Passwort diese zwei Kriterien erfüllt? Mit PHP ist das gar kein Problem!

<?php
    $passwort 
“meinpw123″;
    
    if(
preg_match(“/([a-zA-Z]+)/i”$passwort))
    {
        if(
preg_match(“/([0-9]+)/i”,$passwort))
        {
            if(
strlen($passwort)>=6)
            {
                
// Alles i.O!
            
}
        }
    }    
?>

info: Reguläre Ausdrücke sind auf den ersten Blick verwirrend und schwer zu verstehen. Sie bieten jedoch bei guter Beherrschung eine mächtige Suchfunktion.

Jetzt wo wir diese kleine Hürde überstanden haben, müssen wir das Passwort noch sicher abspeichern! Natürlich kann man dieses Passwort jetzt einfach so unverschlüsselt in die Datenbank schreiben, allerdings rate ich hiervon ab. Man kann nie vorhersagen ob nicht irgendwann etwas passiert… Deshalb benutzen wir eine Verschlüsselung.

<?php
    $passwort
=“meinpw123″;
    
$passwort=md5($passwort);
?>

Mit diesen Befehl md5() wird das Passwort verschlüsselt und kann in die Datenbank geschrieben werden. Das Passwort kann man nun nicht mehr entschlüsseln! Wenn der User also sein Passwort vergessen hat, muss nach einigen Kontrolldurchgänge das Passwort neu gesetzt werden. Die Kontrolldurchgänge könnten in etwa so ablaufen, dass der User eine E-Mail bekommt mit einem Persönlichen Link (randomkey!) zu einer Seite auf der dieser sein Passwort ändern kann.



Kommentieren

wichtige Artikel