| Weitere Artikel aus dem Webentwickler Blog |
| Teilen |
Um Sicherheitsrisiken beim eigenen Webserver oder einem vom Provider bereitgestellten Webspace und deren Beseitigung sollte man sich als sicherheitsbewusster Entwickler kümmern. Natürlich wird es nie absolute Sicherheit geben, aber mit ein wenig Aufwand kann man es den bösen Jungs zumindest etwas schwerer machen.
Hinweis: Die hier aufgeführten Möglichkeiten erheben nicht den Anspruch, absolute Sicherheit zu bieten. Es gibt eine einfache Tatsache, die unumstößlich ist: Für jedes Schloss gibt es auch einen Schlüssel, und alle Türen können geöffnet werden!
Die Authentifizierung über das HTTP-Protokoll ist sicher eine der bequemsten Möglichkeiten, einen Anwender zu einer Identifizierung zu veranlassen. Der Server bzw. das Skript sendet einen HTTP-Header an den Browser, der zur Authentifizierung auffordert. Der Anwender erhält daraufhin vom Browser ein Loginfenster präsentiert. Der Anwender loggt sich ein und erhält Zugriff auf den geschützten Bereich. Kann dieser nicht identifiziert werden, so wird der Zugriff verweigert und der Anwender erhält eine Fehlermeldung. Der Apache-Webserver ermöglicht es, ein Verzeichnis und sämtliche Unterverzeichnisse durch eine sogenannte .htaccess-Datei zu schützen. Eine solche Datei sieht wie folgt aus:
AuthUserFile /htdocs/user/www.domain.de/admin/.htpasswd AuthName Madania AuthType Basic require valid-user
Tipp: Unter Unix sorgt der Punkt vor dem htaccess-Dateinamen dafür, dass diese Datei versteckt wird. Dies können Sie auch auf eigene Dateien anwenden.
Hat sich ein Anwender über die Webserver-Authentifizierung angemeldet, können Sie mithilfe der globalen Servervariablen $_SERVER["REMOTE_USER"] den Benutzernamen des angemeldeten Anwenders und mit $_SERVER["AUTH_TYPE"] die Authentifizierungsmethode ermitteln.
Anpassen der Passwortdatei
Die Webserver-Identifizierung hat einen wesentlichen Nachteil: Sie müssen den Anwender nicht nur für die jeweilige Webanwendung registrieren, sondern auch beim Webserver. Eine Passwortänderung muss dem Server ebenfalls mitgeteilt werden.
Natürlich können Sie jederzeit den Serveradministrator darum bitten, die Anpassungen vorzunehmen, doch ich will Ihnen eine Lösung vorstellen, mit der es einfach ist, die Änderungen selbst vorzunehmen.
Ein Eintrag in einer gültigen Passwortdatei, welche in den meisten Fällen den Dateinamen .htpasswd besitzt, setzt sich aus einer Zeile zusammen. Die Zeile stellt sich wie folgt dar:
Nutzername: Passwort
Diese Zeile können Sie mithilfe von PHP auch selbst erzeugen bzw. anfügen, und zwar mit der Funktion setze_passwort():
Ich empfehle Ihnen, die Funktion in eine Datei mit dem Namen phpcrypt.php abzulegen. So können Sie bei Bedarf auf die Funktion zugreifen. Beispiel – Anlegen eines Benutzers (Anwenders):
Ganzen Artikel lesen...



































