Um die gesamte Webseite oder einzelne Verzeichnisse vor dem Zugriff Unbefugter zu schützen, können Sie einen serverseitigen Passwortschutz (HTTP Basic Authentication) einrichten. Dafür legen Sie im zu schützenden Webspace-Verzeichnis eine .htaccess-Konfigurationsdatei sowie eine .htpasswd-Datei mit den gewünschten Benutzernanem und Passwörtern an.

Wir empfehlen, die .htaccess- und .htpasswd-Datei über das WebFTP direkt auf dem Webserver zu erstellen bzw. zu bearbeiten. Fortgeschrittene Benutzer können auch SFTP oder SSH verwenden. Um diese Beschreibung einfach zu halten, gehen wir darauf an dieser Stelle jedoch nicht näher ein.

Erstellen der .htaccess-Datei

Melden Sie sich zunächst mit ihren FTP-Zugangsdaten bei unserem WebFTP-Dienst an. Wechseln Sie dann in das gewünschte Webspace-Verzeichnis und prüfen, ob hier bereits eine Datei mit Namen .htaccess angelegt ist. Wenn ja, klicken Sie auf die Datei und wählen Bearbeiten. Falls nicht, klicken Sie unten im Menü auf das Symbol + und wählen Neue Datei sowie .htaccess als Dateiname.

Der Inhalt ist gemäß diesem Beispiel anzulegen. Am Ende dieser Anleitung können Sie sich Ihren individuellen Code über ein Formular erstellen lassen.

AuthName "Geschützter Bereich"
AuthType Basic
AuthUserFile /homepages/u12345/unterverzeichnis/evtl_weiteres_Verzeichnis/.htpasswd
Require valid-user

Hinter AuthName... können Sie den Namen "Geschützer Bereich" durch jeden beliebigen Titel für den Passwort-Dialog ersetzen, zum Beispiel "Login".

AuthType Basic gibt die Anmeldung über den Standard-Browser-Dialog aus. Beachten Sie hierzu bitte den Hinweis zur Verschlüsselung am Ende der Anleitung!

Desweiteren muss in der Zeile AuthUserFile ... die Benutzerkennung u12345 durch Ihre Webserver-Benutzerkennung ersetzt werden.

Falls Sie die .htpasswd-Datei in einem Unterverzeichnis angelegt haben, müssen Sie nach der Benutzerkennung noch den Pfad zu diesem Verzeichinis angeben, z.B.:

AuthUserFile /homepages/u12345/unterverzeichnis/.htpasswd

Require valid-user gibt vor, dass nur angelegte Nutzer, bei erfolgreicher Anmeldung Zugriff bekommen.

Erstellen der .htpasswd-Datei

Die Benutzernamen und Passwörter werden nicht in der .htaccess-Datei, sondern in einer separaten Datei mit Namen .htpasswd abgelegt. Diese Datei können Sie genau wie bei der .htaccess-Datei beschrieben per WebFTP erstellen bzw. bearbeiten.

Die Passwort-Datei enthält alle gültigen Benutzernamen und die dazugehörigen Passwörter in verschlüsselter Form. Um die verschlüsselten Passwörter zu generieren, können Sie diverse Online-Tools verwenden. Kopieren Sie dort die Ausgabe für jeden gewünschten Benutzer und fügen sie als neue Zeile zur Passwort-Datei hinzu.

Mit dem am Ende dieser Anleitung eingebundenen Tool können Sie sich alle benötigten Dateien zum einfachen kopieren in die Zwischenablage erstellen lassen. Sie können dabei nacheinander zusätzliche Benutzer einfügen lassen.

Der Inhalt einer solchen Datei sieht dann beispielsweise so aus:

Admin:$2y$12$IQorqFsOjTebDElDMupii.ScVLHyGQSuxaL6DisM4dristnr9be7e
User1:$2y$12$yzIdS8B5UxmGb.TlOHQ1qu5io7WF0mNv/OmG1mKhWkJqSes53n6Ae
User2:$2y$12$ttuDFwJLL7jZIFEPlLqKmO/T72HCcHDU6EUmsccliIwh1Crs284s2

Achten Sie dabei darauf, dass der Pfad zur Passwort-Datei in der .htaccess-Datei genau mit dem Ort übereinstimmt, wo die Passwort-Datei abgelegt wurde. Sie können die Passwort-Datei auch außerhalb des geschützten Verzeichnisses anlegen, etwa wenn mehrere .htaccess-Dateien die gleiche Passwort-Datei verwenden sollen.

Wir empfehlen generell die Auslagerung der .htpasswd außerhalb des Webverzeichnisses. Dazu sollten Sie Ihre Websitedaten in einem Unterverzeichnis homepages/u12345/webseite ablegen und im Kundenmenü die Domain auf dieses Verzeichnis verweisen lassen. Die .htpasswd legen Sie dann z.B. in einem Verzeichnis homepages/u12345/passwortab. Der Verweis unter AuthUserFile ... lautet dann entsprechend /homepages/u12345/passwort/.htpasswd

So sind die Passwörter auch in dem unwahrscheinlichen Fall einer temporären Fehlkonfiguration des Servers vor fremder Einsicht geschützt.

Der Passwortschutz sollte so nun funktionieren. Das Passwort wird insgesamt dreimal abgefragt. Falls beim dritten Versuch kein gültiger Benutzer oder kein gültiges Kennwort angeben wurde, erscheint eine Fehlerseite und der Zugriff wird verweigert.

Beachten Sie bitte, dass Benutzername und Passwort bei unverschlüsselten HTTP-Verbindungen im Klartext übertragen werden. Es ist daher empfehlenswert, ein SSL-Zertifikat (z.B.: Let's Encrypt) für die gewünschte(n) Domain(s) zu beauftragen um eine verschlüsselte HTTPS-Verbindung verwenden zu können.

Hierbei sollten Sie beachten, dass eine Umleitung von unverschlüsselten HTTP-Verbindungen auf verschlüsselte HTTPS-Verbindungen vor der Passwortabfrage erfolgen sollte. Hierzu können Sie für die gewünschte(n) Domain(s) ein HTTPS-Weiterleitung im Kundenmenü einstellen, oder folgende Direktiven in der .htaccess-Konfigurationsdatei vor dem Passwortschutz hinzufügen:

RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

.htaccess & .htpasswd Multi-User Generator


Pfad-Einstellungen

Sie finden den Benutzernamen im Kundenmenü unter Hosting & Weiterleitungen -> SFTP & SSH


Geben Sie hier das Unterverzeichnis oder die Unterverzeichnisse mit beginnendem / und jeweils trennenden / ein. Das letzte Verzeichnis bekommt am Ende KEIN / .

Der Pfad wird automatisch zusammengesetzt zu::

/homepages/u12345/Verzeichniss(e)/.htpasswd

1. Inhalt für die .htaccess
2. Inhalt für die .htpasswd (Bcrypt)