Werbung

Home Internet Eigene Webseite Webspace Verzeichnisse mit .htaccess schützen

Verzeichnisse mit .htaccess schützen

Werbung

Wenn Sie ihre Internetseite oder einzelne Verzeichnisse der Öffentlichkeit nicht zugänglich machen möchten, können Sie sie mit einem Passwort schützen.

Vorausgesetzt es ist ein Apache Webserver installiert, kann das mit den zwei Dateien .htaccess und .htpasswd umgesetzt werden.

Die .htaccess schützt das Verzeichnis, in dem sie liegt und alle darunter liegenden Verzeichnisse.

Die .htpasswd enthält einen oder mehrere Benutzer mit ihrem jeweiligen verschlüsselten Passwort.

Vorhandene .htaccess sichern

Existiert bereits eine .htaccess, sollte diese auf  jeden Fall heruntergeladen und unverändert in einem separaten Verzeichnis auf dem eigenen Computer gesichert werden.

Anschließend kann in einer Kopie der gesicherten .htaccess der für den Zugriffsschutz benötigte Code am Anfang vor dem bereits vorhandenen Code eingefügt werden.

Neue .htaccess erstellen

Geben Sie einen Dateinamen einWird eine .htaccess neu erstellt, muss man berücksichtigen, dass Windows beim Umbenennen von Dateien nicht zulässt, dass vor der Dateiendung nichts steht.

Um unter Windows eine Datei mit einem Punkt am Anfang des Namens zu erstellen, wird der Windows Editor geöffnet und der erforderliche Code eingegeben.

Anschließend wird beim Speichern der Datei im Dialog „Speichern unter“ im Feld Dateiname „.htaccess“ eingegeben und als Dateityp nicht „Textdateien (*.txt)“ sondern „Alle Dateien“ ausgewählt.

htaccess mit Windows Editor anlegen

Nach einem Klick auf Speichern wird die .htaccess problemlos angelegt.

.htaccess Code

Für einen Verzeichnisschutz ist der folgende Code in der .htaccess erforderlich, die farbigen Angaben sind sinnvoll zu ersetzen.

#Kommentarzeile (optional)
AuthType Basic
AuthName "beliebiger Text"
AuthUserFile /var/www/vhosts/domainname.de/httpdocs/.htpasswd
Require user Benutzername
  • Mit # beginnende Zeilen sind Kommentare und dienen der Dokumentation. Sie können an beliebiger Stelle stehen.
  • AuthType Basic legt die Authentifizierungsmethode fest, Basic ist hier die richtige Wahl.
  • AuthName enthält eine Meldung, die bei der Abfrage von Benutzername und Kennwort ausgegeben wird.
  • AuthUserfile enthält den vollständigen Serverpfad zur Datei .htpasswd, in der Benutzernamen und Passwörter abgelegt sind.
  • Require User enthält den Benutzernamen, der Zugriff auf die Seite haben soll. Es sind auch mehrere Benutzernamen möglich, sie werden durch ein Leerzeichen getrennt hintereinander aufgeführt. Sollen alle Benutzer in der .htpasswd Zugriff haben, kann in dieser Zeile auch Require User valid user stehen.

Absoluten Serverpfad ermitteln

Sollten Sie den absolute Pfad zum Verzeichnis, in der die .htpasswd abgelegt werden soll, nicht kennen, können Sie sich mit einem kurzen PHP-Script helfen.

Dafür legen Sie sich eine Textdatei mit der Endung .php an. Sie können sie zum Beispiel info.php nennen oder einen anderen Namen wählen.

Achten Sie bei der Wahl des Namens nur darauf, dass sie keine auf Ihrem Webspace bereits existierende Datei überschreiben.

In diese Datei kommt nur die folgende Zeile:

<?php echo $_SERVER['DOCUMENT_ROOT']; ?>

Diese Datei wird per FTP auf den Webspace zum Beispiel ins Root-Verzeichnis hochgeladen und kann anschließend in einem beliebigen Browser mit

domainname.de/info.php

aufgerufen werden. Als Ergebnis wird der vollständige Serverpfad zum Root-Verzeichnis der Webseite ausgegeben, also zum Beispiel

/var/www/vhosts/domainname.de/httpdocs.

Löschen Sie die Datei anschließend wieder.

Die .htpasswd muss nicht im selben Verzeichnis wie die .htaccess liegen. Entscheidend ist, dass der vollständige Serverpfad zur .htpasswd mit AuthUserfile in der .htaccess angegeben wird.

.htpasswd Code

Diese Datei muss übrigens nicht .htpasswd heißen, sie kann zum Beispiel auch .htusers oder .htsecret genannt werden. Entscheidend ist auch hier, dass hinter dem vollständigen Serverpfad der richtige Dateiname in der Anweisung AuthUserfile in der .htaccess angegeben wird.

In der .htpasswd steht für jeden Benutzer eine Zeile mit der Struktur Benutzername:verschlüsseltes Passwort.

#Kommentarzeile (optional)
Benutzername:verschlüsseltes Passwort

Auch in dieser Datei sind Kommentarzeilen zulässig.

Passwort verschlüsseln

Um ein Passwort zu verschlüsseln,  kann man ebenfalls ein kleines PHP-Script verwenden.

Dafür legen Sie wieder eine Textdatei mit der Endung .php an. Sie können sie zum Beispiel passwort.php nennen oder einen anderen Namen wählen.

Achten Sie bei der Wahl des Namens nur darauf, dass sie keine bereits existierende Datei auf dem Webspace überschreiben.

In diese Datei kommt die folgende Zeile. Dabei ist der farbige Text durch das zu verschlüsselnde Passwort zu ersetzen.

<?php echo "Passwort: ".crypt("Test1234"); ?>

Diese Datei wird per FTP auf den Server zum Beispiel ins Root-Verzeichnis hochgeladen und kann anschließend in einem beliebigen Browser mit

domainname.de/passwort.php

aufgerufen werden. Als Ergebnis wird das verschlüsselte Passwort ausgegeben.

Löschen Sie die Datei anschließend wieder.

Dateien hochladen

Nachdem diese beiden Dateien erstellt wurden, können sie per FTP in die entsprechenden Verzeichnisse auf den Server hochgeladen werden.

htaccess Authentifizierung erforderlich

Beim Aufruf der Seite oder des Unterverzeichnisses erscheint nun eine Sicherheitsabfrage, in der Benutzername und Passwort eingegeben werden müssen.