- Was ist eine htaccess Datei?
- Was ist eine htpasswd Datei?
- Wo sollte die htpasswd Datei abgelegt werden?
- htaccess Passwortschutz – Beispiel
- Kann man nur Unterordner schützen?
- Passwortschutz für einzelne Domains oder Subdomains
- Mit welchen Webservern funktioniert das?
- Vorteile und Nachteile des htaccess Passwortschutzes
- Wie sicher ist der Passwortschutz?
- Welche Alternativen gibt es?
- IP Whitelist
- Wartungsmodus Plugin
- Serverseitige Authentifizierung (Nginx)
- Passwortschutz über das Hosting Panel
- Passkey oder Token basierte Zugangsbeschränkung
So aktivierst du einen sicheren Wartungsmodus und beschränkst den Zugriff für ausgewählte Nutzer
Wenn man Webseiten entwickelt, Inhalte überarbeitet oder einem Kunden eine neue Seite vorab zeigen möchte, sollte diese nicht für alle Besucher öffentlich zugänglich sein. Eine einfache und sehr verbreitete Lösung ist der Passwortschutz über htaccess und htpasswd. Dieser Schutz funktioniert serverseitig und verhindert, dass Besucher ohne Zugangsdaten überhaupt Inhalte der Website sehen.
In diesem Beitrag erkläre ich dir Schritt für Schritt, wie der Passwortschutz funktioniert, wann er sinnvoll ist, welche Vor- und Nachteile er hat und welche Alternativen es gibt. Am Ende bist du in der Lage, deine Website oder einzelne Unterordner mit htaccess zu schützen und weißt, wie du das sicher und korrekt einrichtest.
Was ist eine htaccess Datei?
Die htaccess Datei ist eine Konfigurationsdatei, die hauptsächlich mit Webservern wie Apache und LiteSpeed genutzt wird. Sie befindet sich im Ordner deiner Website und ermöglicht es, serverseitige Einstellungen vorzunehmen, ohne die Hauptkonfiguration des Webservers anzupassen.
Typische Funktionen der htaccess Datei:
- Passwortschutz aktivieren
- Weiterleitungen und Rewrite Regeln erstellen
- Caching Einstellungen setzen
- Fehlerseiten definieren
- Zugriff für bestimmte IPs erlauben oder blockieren
Für einen Passwortschutz ist die htaccess Datei ideal, da sie schnell eingerichtet ist und keine Änderungen am Server selbst benötigt.
Was ist eine htpasswd Datei?
Die htpasswd Datei enthält Benutzer und verschlüsselte Passwörter, die vom Webserver zur Authentifizierung genutzt werden. Sie wird extern abgelegt, meist außerhalb des öffentlichen Webverzeichnisses, damit sie nicht von außen einsehbar ist.
Beispiel:
user:secret
#beispiel: test:test123242345
test: $apr1$547x6czg$ZOB.RvFfT2JdN1KfOvuUF0
Wichtig:
Passwörter werden hier verschlüsselt gespeichert. Am häufigsten wird das Apache-Format mit MD5, SHA oder bcrypt verwendet. Unverschlüsselte Passwörter sind absolut tabu.
Passwörter erzeugst du z. B. mit:
- htpasswd Generatoren
- Linux Konsole:
htpasswd -nb benutzer passwort - Online Tools mit SSL (nur zu Testzwecken)
Wo sollte die htpasswd Datei abgelegt werden?
Die htpasswd Datei gehört immer außerhalb des öffentlichen Webroots, also nicht in /public_html, /www oder /htdocs. Ein sicherer Pfad wäre zum Beispiel:
/home/username/secure/.htpasswd
Oder in Hosting-Umgebungen:
/var/www/.secrets/htpasswd
Der Pfad sollte so gewählt sein, dass er per Browser nicht erreichbar ist.
htaccess Passwortschutz – Beispiel
Die grundlegende Konfiguration sieht so aus:
AuthUserFile /home/benutzer/secure/.htpasswd
AuthGroupFile /dev/null
AuthName "Passwortgeschuetzter Bereich"
AuthType Basic
Require valid-user
Sobald diese Datei im gewünschten Ordner liegt, wird dieser Ordner inklusive Unterordner geschützt.
Kann man nur Unterordner schützen?
Ja, das ist sogar sehr üblich. Wenn du z. B. eine Beta Version im Unterordner /vorschau hast, legst du dort eine eigene htaccess Datei an. Der Rest der Website bleibt weiterhin erreichbar.
Passwortschutz für einzelne Domains oder Subdomains
Das funktioniert ebenfalls problemlos. Jede Domain und Subdomain kann eigene htaccess Dateien verwenden. So kannst du etwa eine Testdomain komplett schützen, während die Hauptdomain offen bleibt.
Beispiel für Domainabhängigkeit:
SetEnvIf Host my-domain.test passreq
AuthType Basic
AuthName "Password Required"
AuthUserFile /home/user1234/meinewebsite/htpwd/.htpasswd
Require valid-user
Order allow,deny
Allow from all
Deny from env=passreq
Satisfy any
Damit kann man abhängig vom Domainnamen entscheiden, ob ein Passwort benötigt wird.
Mit welchen Webservern funktioniert das?
Die htaccess Methode funktioniert bei:
- Apache
- LiteSpeed
- OpenLiteSpeed (teilweise eingeschränkt)
Nicht unterstützt wird htaccess bei:
- Nginx
- IIS (Microsoft)
Für Nginx muss der Passwortschutz in der Serverkonfiguration eingerichtet werden, nicht über htaccess.
Vorteile und Nachteile des htaccess Passwortschutzes
| Vorteil | Nachteil |
|---|---|
| Sehr leicht einzurichten | Funktioniert nicht mit Nginx ohne Serverzugriff |
| Keine Plugins oder Software nötig | Login Fenster kann nicht gestaltet werden |
| Serverseitige Absicherung | Basic Auth sendet Benutzername und Passwort kodiert, nicht verschlüsselt |
| Ideal für Wartungsmodus oder geschützte Vorschau | Ohne HTTPS unsicher |
| Funktioniert für ganze Websites oder einzelne Ordner | Kann Caching Systeme ausbremsen |
Wichtig:
Immer HTTPS nutzen, damit die Zugangsdaten verschlüsselt übertragen werden.
Wie sicher ist der Passwortschutz?
Richtig eingerichtet ist Basic Auth durchaus sicher für Vorschau Seiten, interne Tools oder Entwicklungsumgebungen. Es ist aber kein Ersatz für ein komplexes Login System, zum Beispiel für Mitgliederbereiche oder Webanwendungen.
Empfehlung für maximale Sicherheit:
- HTTPS aktivieren
- Passwörter mit bcrypt erzeugen
- htpasswd Datei außerhalb des Webverzeichnisses speichern
- Zusätzlich IP Whitelist nutzen (optional)
Welche Alternativen gibt es?
IP Whitelist
Zugriff nur von bestimmten IPs erlauben:
Order deny,allow
Deny from all
Allow from 123.123.123.123
Wartungsmodus Plugin
Für WordPress, Joomla, Shopware und andere CMS Systeme existieren Plugins, die einen Wartungsmodus mit eigenem Template anzeigen.
Serverseitige Authentifizierung (Nginx)
Für Nginx wird die Authentifizierung in der server.conf definiert.
Passwortschutz über das Hosting Panel
Plesk und cPanel bieten eigene Passwortschutz Funktionen für Verzeichnisse.
Passkey oder Token basierte Zugangsbeschränkung
Für moderne Entwicklungsumgebungen gibt es Token Links statt Passwortabfragen.

