Es kommt immer wieder vor, dass man auf einer Internetseite einen Bereich für den Zugriff schützen will. Das kann zum Beispiel notwendig sein, wenn es sich um einen internen Bereich handelt oder wenn man eine Internetseite umbaut oder neu erstellt und nicht sofort für alle das Ergebnis sichtbar sein soll. Eine Idee wäre die index.php oder index.html umzubenennen und den Namen der Datei in der URL mit anzugeben. Das ist auf die Schnelle praktikabel aber nicht das, was man tun sollte. Nach dem Klick folgt eine Beschreibung, wie man das mit einer .htaccess-Datei machen kann und was man tun muss, wenn man den absoluten Pfad nicht kennt.

Zunächst legt man eine .htacess-Datei mit dem folgenden Inhalt an und speichert sie in dem zu schützenden Verzeichnis.

AuthType Basic
AuthName "Geben Sie Ihre Zugangsdaten ein"
AuthUserFile [absolutepath]/.htpasswd
require user [username]

Im AuthUserFile gibt man den absoluten Pfad zur .htpasswd Datei (siehe unten) an. Wenn man den Pfad nicht kennt, hilft das folgende php-Skript dabei, ihn herauszufinden.

<?php
  echo $_SERVER["DOCUMENT_ROOT"]
?> 

In der .htpasswd-Datei (muss man ebenfalls anlegen) werden die Kennwörter zu den Benutzern gespeichert. Für den Inhalt dieser Datei gib es im Netz zahlreiche Generatoren. Ich nutze hier immer den folgenden Link auf der Internetseite meines Hosters: https://www.manitu.de/service/online-tools/webhosting/htpasswd-erstellen/