kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

Passwortschutz für Websites, Verzeichnisse und Dateien mit .htaccess und .htpasswd

Passwort-Schutz für eine Website

Wenn Ihr eure gesamte Website, ein bestimmtes Unterverzeichnis oder auch nur eine einzelne Datei mit einem Passwort schützen möchtet, ist eine gängige Lösung der Schutz mittels .htaccess- und .htpasswd. Bei dieser Methode übernimmt der Server den Schutz des entsprechenden Verzeichnisses oder der Datei. In diesem Beitrag erklären wir was ihr tun müsst.

Workshops und Seminare von kulturbanause

Visual Prototyping, Responsive Design, CSS Grid & Flexbox, Sketch, Adobe XD …

Jetzt Frühbucher-Rabatte sichern!

Übersicht über die Konfiguration

Der Passwortschutz setzt sich aus zwei Dateien zusammen:

  • Die .htpasswd-Datei beinhaltet das Passwort in verschlüsselter Form, sowie den Benutzernamen.
  • Die .htaccess-Datei legt fest, welche Order oder Dateien mit dem Passwort geschützt werden sollen, wo die .htpasswd-Datei sich auf dem Server befindet und welche Meldung dem Anwender in der Passwort-Abfrage angezeigt werden soll.
Anmeldemaske bei einem htpasswort-Schutz in Google Chrome
Anmeldemaske in Google Chrome

Einstellungen in der .htpasswd-Datei

Erstellt in einem beliebigen Texteditor eine Datei mit dem Namen .htpasswd und legt sie in dem Verzeichnis ab, dass geschützt werden soll oder die zu schützende Datei enthält. In der .htpasswd Datei gebt ihr den Benutzernamen sowie das Passwort in verschlüsselter Form (md5, sha1 oder crypt) an. Benutzt zur Erzeugung dieses codierten Passworts am besten einen Generator.

Bei einem Benutzer namens kulturbanause sieht die .htpasswd-Datei dann beispielsweise so aus:

kulturbanause:$apr1$MvhtEwWO$.Ro5NOQNw9tAtZns8UOl20

Einstellungen in der .htaccess-Datei.

Nun muss in eurer .htaccess-Datei angegeben werden, dass ein Passwort notwendig ist. Dazu muss auch die .htaccess-Datei in dem Verzeichnis liegen das geschützt werden soll oder die zu schützende Datei enthält. Legt die Datei also neu an oder editiert die bestehende .htaccess-Datei.

Anschließend kopiert das folgende Snippet in die .htaccess-Datei und passt den Pfad (AuthUserFile) zur .htpasswd-Datei an. Wie ihr den Pfad herausfindet, könnt ihr hier nachlesen.

AuthName "Kulturbanause Login-Bereich"
AuthType Basic
AuthUserFile /is/htdocs/xy_123/www/yourdomain.com/.htpasswd
require valid-user

Damit ist auch schon das gesamte Verzeichnis, in dem die .htaccess-Datei liegt, geschützt. Der AuthName ist optional und wird in der Login-Maske des Browsers angezeigt. Ändert diese Angabe, um den Login zu personalisieren.

Einzelne Dateien schützen

Um nur eine bestimmte Datei innerhalb des Verzeichnisses zu schützen, könnt ihr das folgende Snippet verwenden. Tauscht einfach den Dateinamen kulturbanause-login.php gegen den Namen der zu schützenden Datei aus.

<Files kulturbanause-login.php>
  AuthName "Kulturbanause Login-Bereich"
  AuthType Basic
  AuthUserFile /is/htdocs/xy_123/www/yourdomain.com/.htpasswd
  require valid-user
</Files>

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Das könnte dich auch interessieren

3 Kommentare

  1. Kai

    Verfasst am 28. Dezember 2017 um 10:42 Uhr.

    Hey,

    wie ist es möglich zwei Dateien im selben verzeichnis zu schützen?

    1234.html und 56789.html?

    Vielen Dank :)

    Liebe Grüße Kai

    • Jonas Hellwig

      Verfasst am 28. Dezember 2017 um 13:06 Uhr.

      Du müsstest den .htaccess-Block einfach verdoppeln können und den Dateinamen entsprechend anpassen.

  2. Gerhard Glabischnig

    Verfasst am 21. Januar 2018 um 21:30 Uhr.

    Hallo,

    habe diese .htaccess Datei im Verzeichnis Intern und eine htpasswd wie unten abgelegt.
    Es funktioniert leider nicht. Es kommt zwar die Passwortabfrage aber danach kommt eine Fehlermeldung:
    This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn’t understand how to supply the credentials required.

    AuthType Digest
    AuthUserFile /home/strato/www/ws/www.wild-south-chapter.de/.htpasswd
    AuthName „Intern“
    require valid-user Gerhard

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.