Apache/HTTP/Authentifizierung

Aus Foxwiki
(Weitergeleitet von Apache/HTTP/Passwortschutz)

Apache Webserver Authentifizierung

Beschreibung

Passwortschutz für Webseiten oder Verzeichnisse

  • nur für bestimmte Benutzer verfügbar
  • Webseite vor Suchmaschinen-Bots verbergen

.htpasswd Datei erstellen

Zuallererst braucht man eine .htpasswd Datei. Diese können Sie ganz einfach mit einem Texteditor erstellen.

Wichtig 
Nicht den Punkt vor dem Dateinamen vergessen!

In dieser Datei werden alle Benutzer- und Passwortdaten hinterlegt. Diese sind verschlüsselt und können direkt mit unserem .htaccess Generator erstellt werden.

Falls mehrere Benutzer angelegt werden sollen, können Sie die jeweiligen Codezeilen einfach untereinander in die .htpasswd Datei schreiben.

Legen Sie nun die .htpasswd Datei in einem Verzeichnis abseits der darauf verweisenden .htaccess Datei ab (siehe folgend Schritt 2).

Wichtig

  • Die .htpasswd sichert nicht das Verzeichnis und deren Unterverzeichnisse in der die Datei liegt ab, sondern die Datei dient lediglich als Liste aller möglichen Zugangsdaten.
  • Die .htaccess Datei übernimmt die eigentliche Aufgabe, das Verzeichnis und die Unterverzeichnisse mit einem Passwortschutz versehen.
  • Es spielt daher nur eine Rolle, wo die .htacces Datei abgelegt wird.

.htaccess Datei erstellen/anpassen

AuthType Basic
AuthName "Passwortgeschützter Bereich"
AuthUserFile /pfad/zur/datei/.htpasswd
Require valid-user
Hinweis 
Die .htpasswd Datei sollte aus Sicherheitsgründen üblicherweise in einem anderen Verzeichnis gespeichert sein als die jeweilige .htaccess Datei, die auf die .htpasswd verweist.

Der Passwortschutz ist nun aktiv

  • Beim Aufrufen der Webseite bzw. des Verzeichnisses im Browser wird ein Benutzername und ein Passwort abgefragt.
  • Um den Schutz wieder zu deaktivieren, löscht man einfach die .htpasswd Datei und die Codezeilen dafür aus der .htaccess Datei.

Anwendung

Der Webspace für die Webseite "meinetestwebseite.de" hat einen Ordner "ablage" der mit einem Passwortschutz versehen werden soll.

Die Ordnerstruktur auf dem Webspace ist wie folgt aufgebaut:

/web--- /ablage--- /css--- /img--- /js--- index.php

Um nun den Ordner "ablage" wie oben beschrieben zu schützen muss die Struktur so erweitert werden:

/web--- /ablage--- --- .htaccess--- /css--- /img--- /js--- index.php/zugaenge--- .htpasswd

Versucht man nun "www.webseite.de/ablage" aufzurufen erscheint eine Abfrage des Benutzernamen und eines Passworts.

Passwortschutz für bestimmten IP-Adressen deaktivieren

Order deny,allow
Deny from all
AuthName "Passwortgeschützter Bereich"
AuthUserFile /pfad/zur/datei/.htpasswd
AuthType Basic
Require valid-user
allow from 000.000.000.000
allow from 111.111.111.111
Satisfy Any

TMP

Authentifizierung

Wenn Sie direkt zu diesem Teil des Dokuments gesprungen sind, um herauszufinden, wie Sie die Authentifizierung durchführen, ist es wichtig, eine Sache zu beachten.

  • Es ist ein weitverbreiteter Irrglaube, dass Sie .htaccess-Dateien verwenden müssen, um die Passwortauthentifizierung zu implementieren.
  • Dies ist jedoch nicht der Fall.
  • Authentifizierungsrichtlinien in einem <Directory>-Abschnittin Ihrer Hauptkonfigurationsdatei des Servers zu platzieren, ist der bevorzugte Weg, dies zu implementieren, und .htaccess-Dateien sollten nur verwendet werden, wenn Sie keinen Zugriff auf die Hauptkonfigurationsdatei des Servers haben.
  • Siehe oben für eine Diskussion darüber, wann Sie .htaccess-Dateien verwenden sollten und wann nicht.

Wenn Sie dennoch der Meinung sind, dass Sie eine . htaccess-Datei verwenden müssen, könnte eine Konfiguration wie die folgende für Sie geeignet sein.

Inhalt der .htaccess-Datei:

AuthType Basic
AuthName "Password Required"
AuthUserFile "/www/passwords/password.file"
AuthGroupFile "/www/passwords/group.file"
Require group admins

Beachten Sie, dass AllowOverride AuthConfig in Kraft sein muss, damit diese Direktiven eine Wirkung haben.

Eine ausführlichere Erläuterung der Authentifizierung und Autorisierung finden Sie im Tutorial zur Authentifizierung.