Passwortschutz für Ihre Webseite –
htpasswd erstellen in 2 Minuten

Dieser htaccess Passwort-Generator erzeugt Zugangsdaten für den klassischen Verzeichnisschutz – standardmäßig mit modernem bcrypt statt angestaubtem MD5. Das Besondere daran: Sämtliche Berechnungen laufen direkt in Ihrem Browser. Ihr Passwort wird also nirgendwohin übertragen, es gibt schlicht keinen Server, der mitlesen könnte. Trennen Sie testweise ruhig mal die Internetverbindung – der Generator läuft einfach weiter ...

  • 100 % im Browser – keine Übertragung
  • Funktioniert auch offline
  • Passwörter bleiben auf Ihrem Gerät
  • Selbsttest läuft …
Illustration: htpasswd-Generator am Monitor, ein blaues Schutzschild wehrt Angriffe und Schadsoftware ab

Der Generator: Benutzer, Passwort, fertige .htpasswd

Einfach nur Benutzernamen eintragen, Passwort generieren lassen (oder ein eigenes verwenden), Verfahren wählen – den Rest erledigt das Tool! Jeder erzeugte Benutzer landet rechts in der Dateivorschau. So bauen Sie bspw. auch eine komplette Mehrbenutzer-Datei fürs ganze Team in einem Rutsch zusammen.

Ohne Doppelpunkt – der trennt in der Datei Benutzer und Hash.

Verschlüsselungsstandard

Jede Stufe verdoppelt den Rechenaufwand – für Sie und für Angreifer. 10–12 ist ein guter Kompromiss; Details liefert der Benchmark weiter unten.
.htpasswd – Vorschau
    SEOJobbörse - die Jobbörse für Webmaster und SEOs

    Welcher Verschlüsselungsstandard ist der richtige?

    Für die .htpasswd-Datei gibt es historisch fünf Verfahren. Nur eines davon würden wir heute noch guten Gewissens empfehlen – die anderen erklären wir trotzdem. Schließlich sind da draußen noch Millionen alter Dateien im Einsatz, und irgendjemand muss diese ja irgendwann aufräumen.

    VerfahrenErkennungsmerkmalBewertungKompatibilitätKurzeinschätzung
    bcrypt $2y$12$… sicher Apache ab 2.4, nginx auf modernen Linux-Systemen Bewusst langsam und 'gesalzen' – jeder Hash bekommt einen eigenen Zufallswert (Salt), womit vorberechnete Code-Knack-Tabellen ins Leere laufen. Der Cost-Faktor lässt sich über Jahre an schnellere Hardware anpassen. Unsere klare Empfehlung."
    MD5 (APR1) $apr1$… akzeptabel Jeder Apache, nginx, praktisch jeder Hoster Apaches Eigenbau mit 1000 MD5-Runden und Salt. Für heutige Grafikkarten zu schnell knackbar – taugt nur noch in Kombination mit einem langen Zufallspasswort.
    SHA-1 {SHA}… schwach Apache, nginx, einige Altsysteme Ohne Salt: Gleiches Passwort ergibt weltweit denselben Hash – ein gefundenes Fressen für vorberechnete Tabellen und somit Hacker. Nur nutzen, wenn es gar nicht anders geht.
    crypt(3) / DES 13 Zeichen unsicher Uralt-Systeme Schneidet Passwörter nach 8 Zeichen einfach ab – aus „SuperGeheim2026!“ wird stillschweigend „SuperGeh“. Lässt sich in Minuten knacken. Bieten wir bewusst nicht an.
    Klartext passwort unsicher Nur Windows-Apache Auf dem üblichen Linux-Webspace funktioniert Klartext in der .htpasswd schlicht nicht – und wer die Datei erwischt, hat sofort alle Zugänge. Bieten wir ebenfalls nicht an.

    Noch ein Wort zu bcrypt und der 72-Byte-Grenze: Das Verfahren verarbeitet maximal 72 Byte, alles dahinter ignoriert der Server kommentarlos. Aber Achtung: Umlaute und Emojis zählen in UTF-8 mit 2 bis 4 Byte! Klingt nach Randthema, sorgt in der Praxis aber für die kuriosesten Login-Probleme. Dieses Tool zählt deshalb live mit und verweigert zu lange Passwörter, statt sie heimlich zu kürzen.

    Fazit: Nehmen Sie bcrypt, wenn Ihr Hoster Apache 2.4 oder neuer einsetzt – das ist seit 2012 der Standard und heute praktisch überall der Fall. APR1-MD5 bleibt die Rückfalloption für exotische Altsysteme. Dann aber bitte mit einem Zufallspasswort ab 16 Zeichen aus dem Generator oben, sonst wird das nichts mit der Sicherheit …

    Der .htaccess-Baukasten: Verzeichnisschutz zum Kopieren

    Die .htpasswd allein schützt noch nichts – erst die passende .htaccess aktiviert die Passwortabfrage! Hier klicken Sie sich die Vorlage zusammen: ganzes Verzeichnis oder nur einzelne Dateien, alle Benutzer oder nur bestimmte. Auf Wunsch auch als nginx-Variante oder als Kommandozeilen-Befehl.

    Wichtig: der Pfad im Dateisystem des Servers, nicht die Web-Adresse. Hilfe dazu direkt darunter.
    Was soll geschützt werden?
    Wer darf hinein?
    Absoluten Serverpfad nicht zur Hand? So finden Sie ihn heraus.

    Legen Sie kurzzeitig(!) eine Datei pfad.php mit folgendem Inhalt in das Verzeichnis und rufen die /pfad.php im Browser auf. Zum Beisiel meineseite.de/pfad.php. Die Ausgabe die dort erscheint ist Ihr gesuchter absoluter Pfad. Danach die Datei unbedingt wieder löschen aus Sicherheitsgründen!

    <?php echo __DIR__; ?>


    Alternativ verrät oft schon das FTP-Programm oder das Hoster-Kundenmenü den Pfad (typisch sind Muster wie /var/www/vhosts/ihre-domain.de/httpdocs oder /kunden/123456_78910/webseiten).

    
    

    Aber Achtung: Eine fehlerhafte .htaccess quittiert Apache sofort mit „500 Internal Server Error“. Halten Sie Ihren FTP-Zugang bereit, um sie notfalls wieder zu löschen – mehr dazu in den FAQ.

    SEOJobbörse - die Jobbörse für Webmaster und SEOs

    Hash-Prüfung: Wie sicher ist Ihre bestehende .htpasswd?

    Sie haben irgendwo noch eine alte .htpasswd liegen und wissen nicht mehr, was da eigentlich drinsteckt? Einfach den Inhalt einfügen – das Tool erkennt jedes Verfahren, bewertet es und kann auf Wunsch prüfen, ob ein Passwort zu einem Eintrag passt. Auch das passiert selbstverständlich komplett lokal in Ihrem Browser.

    bcrypt-Benchmark: Welcher Cost-Faktor passt?

    Der Cost-Faktor bestimmt, wie lange eine einzelne Passwortprüfung dauert – jede Stufe verdoppelt die Zeit. Was viele nicht wissen: Beim Basic-Auth-Schutz prüft der Server die Zugangsdaten bei jedem einzelnen Request neu, nicht nur einmal beim Login. Ein zu hoch gewählter Wert bremst also jede geschützte Seite spürbar aus. Dieser Benchmark misst live in Ihrem Browser, wie teuer die Stufen 8 bis 16 wirklich sind – bei Cost 16 kommt selbst ein flotter Rechner ins Schwitzen.

    CostDauer pro Prüfung

    Faustregel: 50–250 ms pro Prüfung sind ein vernünftiger Korridor (grün markiert). Wer einen stark besuchten Bereich schützt, kann serverseitig zusätzlich mod_authn_socache aktivieren – dann cached Apache das Ergebnis und der Cost-Faktor darf ruhig höher liegen. Übrigens: Apaches eigener Standard ist mit Cost 5 erstaunlich niedrig angesetzt.

    SEOJobbörse - die Jobbörse für Webmaster und SEOs

    In 4 Schritten zum fertigen Verzeichnisschutz

    1. Zugangsdaten erzeugen

      Oben im Generator Benutzer und Passwort festlegen, bcrypt wählen, zur Datei hinzufügen. Für Kollegen einfach weitere Benutzer ergänzen – alles landet in einer Datei.

    2. .htpasswd hochladen

      Die Datei per FTP/SFTP auf den Server laden – idealerweise oberhalb des Web-Verzeichnisses (also z. B. neben httpdocs statt darin). Dann ist sie über den Browser von vornherein unerreichbar.

    3. .htaccess einrichten

      Mit dem Baukasten die Vorlage erstellen, den absoluten Pfad eintragen und die .htaccess in das zu schützende Verzeichnis legen. Vorhandene .htaccess? Dann die Zeilen einfach oben ergänzen.

    4. Testen

      Die Adresse in einem privaten Browserfenster aufrufen – es muss sofort die Passwortabfrage erscheinen. Einmal mit falschem, einmal mit richtigem Passwort probieren. Fertig ist der Passwortschutz für Ihre Webseite.

    FAQ – häufige Fragen zum htaccess-Passwortschutz

    Was ist eine .htpasswd-Datei überhaupt?

    Eine simple Textdatei mit einer Zeile pro Benutzer nach dem Muster benutzername:passworthash. Der Apache-Webserver (und auch nginx) gleicht eingegebene Zugangsdaten gegen diese Datei ab, sobald eine .htaccess den Schutz aktiviert. Das Passwort selbst steht dort nie im Klartext – gespeichert wird nur der Hash, also eine Art kryptografischer Fingerabdruck.

    Werden meine Passwörter an einen Server übertragen?

    Nein, zu keinem Zeitpunkt. Dieser kostenlose Webseiten-Passwort-Generator rechnet vollständig in Ihrem Browser – es gibt schlicht keinen Server-Code, der Ihre Eingaben entgegennehmen könnte. Sie müssen uns das übrigens nicht glauben, sondern können es selbst nachprüfen: Netzwerk-Tab der Entwicklertools öffnen (F12) oder gleich das WLAN abschalten. Der Generator läuft unbeirrt weiter. Beim Schließen der Seite ist alles weg; gespeichert wird nichts, nicht einmal Einstellungen. Übrigens: Die anonyme Besucherzählung der Webseite (siehe Datenschutzerklärung) ist davon komplett getrennt – sie misst standardmäßig ohne Cookies, Wiedererkennungs-Cookies gibt es nur mit Ihrer Einwilligung, und mit Ihren Eingaben im Generator hat beides nichts zu tun.

    Was bedeutet „Selbsttest bestanden“ im Seitenkopf?

    Beim Laden rechnet das Tool eine Reihe fest hinterlegter Prüfwerte nach – bekannte Passwörter, deren korrekte bcrypt-, MD5(APR1)- und SHA-1-Hashes vorab mit den Referenzimplementierungen der Serverwelt (u. a. OpenSSL) erzeugt wurden. Nur wenn jedes Ergebnis Bit für Bit übereinstimmt, erscheint der grüne Haken. Sie sehen damit auf einen Blick, dass die Verschlüsselungsberechnung in Ihrem Browser wirklich sauber arbeitet und nicht durch einen exotischen Browser, ein altes Gerät oder eine unvollständig geladene Seite verfälscht wird. Schlägt der Test fehl, zeigt die Seite das offen an – dann bitte keine Hashes erzeugen, sondern zunächst die Seite neu laden. Idealer Weise auch einen anderen Browser verwenden!

    Welchen Verschlüsselungsstandard soll ich nehmen?

    Kurz: bcrypt. Es ist gesalzen, absichtlich rechenintensiv und seit über 25 Jahren gut untersucht. Apache unterstützt es seit Version 2.4 (erschienen 2012) – bei praktisch jedem aktuellen Hoster also kein Thema. Nur wenn ein wirklich altes System im Spiel ist, weichen Sie auf APR1-MD5 aus, dann aber bitte mit einem langen Zufallspasswort. Die ausführliche Bewertung aller Verfahren finden Sie oben in der Tabelle.

    Wie finde ich den absoluten Serverpfad für AuthUserFile?

    Der häufigste Stolperstein überhaupt. Apache braucht den Pfad im Dateisystem des Servers (etwa /var/www/vhosts/beispiel.de/.htpasswd), nicht die Internetadresse. Am schnellsten geht's mit dem PHP-Einzeiler aus dem Baukasten: <?php echo __DIR__; ?> in eine Datei packen, aufrufen, Pfad ablesen, Datei löschen. Viele Hoster zeigen den Pfad auch im Kundenmenü unter Stichworten wie „Verzeichnisschutz“ oder „Webspace-Pfad“ an.

    Wohin gehört die .htpasswd – und wohin die .htaccess?

    Die .htaccess kommt in genau das Verzeichnis, das geschützt werden soll – sie wirkt automatisch auch auf alle Unterverzeichnisse. Die .htpasswd legen Sie am besten außerhalb des öffentlich erreichbaren Web-Ordners ab, eine Ebene über httpdocs, htdocs oder public_html. Falls Ihr Hoster das nicht erlaubt, ist es kein Beinbruch: Apache blockiert den direkten Abruf von Dateien, die mit .ht beginnen, in der Standardkonfiguration ohnehin.

    Nach dem Einrichten kommt „500 Internal Server Error“ – was nun?

    Keine Panik – fast immer steckt einer von drei Klassikern dahinter: ein Tippfehler in der .htaccess, ein falscher Pfad bei AuthUserFile oder eine Direktive, die der Hoster schlicht nicht erlaubt. Erste Hilfe: die .htaccess per FTP umbenennen (z. B. in htaccess.txt) – läuft die Seite wieder, liegt es definitiv an der Datei. Dann Pfad kontrollieren, Datei erneut aus dem Baukasten erzeugen und Stück für Stück testen. Ein Blick ins Error-Log des Hosters nennt die Ursache meist beim Namen.

    Die Passwortabfrage erscheint gar nicht erst – woran liegt das?

    Dann ignoriert der Server Ihre .htaccess vermutlich komplett. Bei eigenem Server/VPS muss im vHost AllowOverride AuthConfig (oder All) gesetzt sein – Standard ist oft None. Beim Shared Hosting ist .htaccess-Unterstützung fast immer aktiv; prüfen Sie dann eher, ob die Datei wirklich .htaccess heißt (mit Punkt, ohne Endung) und im richtigen Verzeichnis liegt. Manche FTP-Programme blenden Punkt-Dateien übrigens standardmäßig aus.

    Funktioniert das auch mit nginx?

    Ja, mit zwei Unterschieden: nginx liest keine .htaccess-Dateien, der Schutz gehört direkt in die Server-Konfiguration (auth_basic und auth_basic_user_file – die fertigen Zeilen liefert der Baukasten im nginx-Tab). Und: Welche Hash-Verfahren funktionieren, hängt von der crypt-Bibliothek des Systems ab. Auf aktuellen Linux-Distributionen werden bcrypt-Hashes im $2y$-Format anstandslos akzeptiert.

    Wie füge ich später weitere Benutzer hinzu?

    Einfach hier einen neuen Benutzer erzeugen und die neue Zeile ans Ende der bestehenden .htpasswd anhängen – pro Benutzer genau eine Zeile, die Reihenfolge spielt keine Rolle. Alternativ bauen Sie die Datei komplett im Generator zusammen: Bestehende Einträge bleiben in der Vorschau erhalten, bis Sie die Seite schließen. Zum Entfernen eines Benutzers löschen Sie schlicht seine Zeile.

    Wie sicher ist HTTP Basic Auth insgesamt?

    Der Mechanismus selbst ist simpel gestrickt: Der Browser schickt Benutzername und Passwort bei jedem Request mit – lediglich Base64-kodiert, und das ist keine Verschlüsselung, sondern nur eine andere Schreibweise. Ohne HTTPS könnte also jeder Mitlauscher die Zugangsdaten im Klartext abgreifen. Deshalb die klare Ansage: Verzeichnisschutz nur zusammen mit HTTPS einsetzen (dank Let's Encrypt heute bei praktisch jedem Hoster kostenlos dabei). Dann ist Basic Auth für Staging-Umgebungen, interne Bereiche und Kundenvorschauen ein absolut solider, bewährter Schutz.

    Ich habe das Passwort vergessen – komme ich wieder rein?

    Aus dem Hash lässt sich das Passwort nicht zurückrechnen – das ist ja gerade der Sinn der Sache. Die Lösung ist zum Glück unspektakulär: neues Passwort hier generieren, die betreffende Zeile in der .htpasswd durch die neue ersetzen, fertig. Es gehen dabei keine Daten verloren, es ändert sich nur der Zugang.

    Warum bietet der Generator kein crypt(3) und keinen Klartext an?

    Aus Überzeugung. crypt(3) schneidet Passwörter nach 8 Zeichen ab, ohne Sie zu warnen – der Rest Ihres schönen langen Passworts ist wirkungslos, und geknackt ist so ein Hash in Minuten. Klartext wiederum funktioniert auf Linux-Servern gar nicht erst und wäre bei einem Datei-Leak der Totalschaden. Ein Generator, der Sicherheit verspricht, sollte solche Fallen nicht mit anbieten – auch nicht „für Spezialfälle“.

    Reicht der Verzeichnisschutz als alleinige Sicherung sensibler Daten?

    Für Staging-Seiten, Admin-Bereiche und Downloads für einen begrenzten Kreis: ja, in Kombination mit HTTPS und starken Passwörtern ist das seit Jahrzehnten bewährte Praxis. Für hochsensible Daten (Patientenakten, Finanzdaten u. Ä.) sollte Basic Auth dagegen nur eine von mehreren Schichten sein – etwa zusätzlich zu einem Anwendungs-Login. Und ein Punkt wird gern vergessen: Der Schutz greift nur über den Webserver. Wer FTP-Zugang zum Verzeichnis hat, liest die Dateien trotzdem.