Weitere Artikel aus dem Webentwickler Blog

Um Sicherheitsrisi­ken beim eigenen Webserver oder einem vom Provider bereitgestell­ten Webspace und deren Beseitigung sollte man sich als sicherheitsbewusster Ent­wickler 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 Sicher­heit 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öglich­keiten, einen Anwender zu einer Identifizierung zu veranlassen. Der Server bzw. das Skript sendet einen HTTP-Header an den Browser, der zur Authentifizierung auf­fordert. Der Anwender erhält daraufhin vom Browser ein Loginfenster präsentiert. Der Anwen­der 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 Feh­lermeldung. 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 ver­steckt 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 Benutzer­namen des angemeldeten Anwenders und mit $_SERVER["AUTH_TYPE"] die Authen­tifi­zie­rungs­methode ermitteln.

Anpassen der Passwortdatei

Die Webserver-Identifizierung hat einen wesentlichen Nachteil: Sie müssen den Anwen­der nicht nur für die jeweilige Webanwendung registrieren, sondern auch beim Web­server. 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 Dateina­men .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... 

Kundenkommentare
Social Bookmarks
elo-web bookmarken bei: Mr. Wong elo-web bookmarken bei: Webnews elo-web bookmarken bei: Icio elo-web bookmarken bei: Oneview elo-web bookmarken bei: Yigg elo-web bookmarken bei: Linkarena elo-web bookmarken bei: Digg elo-web bookmarken bei: Reddit elo-web bookmarken bei: Simpy elo-web bookmarken bei: StumbleUpon elo-web bookmarken bei: Netscape elo-web bookmarken bei: Furl elo-web bookmarken bei: Yahoo elo-web bookmarken bei: Blogmarks elo-web bookmarken bei: Diigo elo-web bookmarken bei: Technorati elo-web bookmarken bei: Newsvine elo-web bookmarken bei: Blinkbits elo-web bookmarken bei: Ma.Gnolia elo-web bookmarken bei: Smarking elo-web bookmarken bei: Netvouz elo-web bookmarken bei: Folkd elo-web bookmarken bei: Spurl elo-web bookmarken bei: Google elo-web bookmarken bei: Blinklist
URL zu dieser Seite
Einfach den Quelltext kopieren und auf Ihrer Webseite einbinden

Kontakt
Newsletter | Kontakt | RSS Feed
Warenkorb: 0 Artikel
Gesamtwert: EUR 0,00
Home PHP/MySQL & JavaScript  Sicherheitstipps für PHP 5: HTTP-Authentifizierung