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
Wird 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.
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.
Beim Aufruf der Seite oder des Unterverzeichnisses erscheint nun eine Sicherheitsabfrage, in der Benutzername und Passwort eingegeben werden müssen.