Passwörter sicher speichern

  • Beim Erstellen eines geschützten Bereiches mit PHP unter Verwendung von Sessions müssen auch Passwörter auf dem Server gespeichert werden. Selbst wenn Sie hier den Speicherort mit .htaccess absichern, können die Passwörter möglicherweise per FTP gelesen werden. Die Lösung ist, die Passwörter kodiert und damit unleserlich abzulegen. PHP bringt zwei Einwegverschlüsselung mit sich. Das heißt, Sie können damit nur eine Zeichenkette verschlüsseln, nicht direkt entschlüsseln. Die Funktionen heißen crypt() und md5(). Die Funktion crypt() behandelt nur acht Zeichen, deswegen beschränkt sich mein Codeschnipsel auf das bessere md5().<?php<#$>plain_password = 'PC-Special';<#$>md5_password = md5(<#$>plain_password);echo(<#$>plain_password . ':');echo(<#$>md5_password);?> Wenn Sie obiges Skript mehrmals mit der gleichen Zeichenkette 'PC-Special' aufrufen, werden Sie feststellen, dass der kodierte String immer gleich ist. Das ermöglicht uns den Vergleich beim Login: Das Passwort wird mit md5() kodiert und mit dem Anmeldenamen zusammen gespeichert. Beim Login nimmt ein Skript die Anmelde-Daten des Benutzers entgegen, verschlüsselt das eingegebene Passwort mit md5() und vergleicht es mit dem abgelegten, ebenfalls kodierten Passwort. Ist der Code identisch, ist auch das Passwort (welches dahinter steckt) identisch. Der Benutzer darf in den geschützten Bereich.