Eine Website oder einzelne Seite mit Passwort schützen
Eine Website mit Passwort schützen
Website oder Webseite mit Passwort schützen (echte Optionen) | We.Inc
Schütze eine Seite oder eine ganze Website so mit Passwort, dass es wirklich funktioniert: Basic Auth auf dem Server, das Seitenpasswort deines Hosters oder Baukastens oder Mitgliederkonten, und warum reine Skript-Sperren scheitern.
Eine echte Passwortprüfung findet auf dem Server statt, bevor die Seite gesendet wird. Nutze die Seitenpasswort-Einstellung deines Hosters oder Website-Baukastens, HTTP Basic Authentication in Apache oder Nginx oder richtige Mitgliederkonten. Ein in JavaScript geschriebenes Passwortfeld versteckt die Seite nur im Browser; der Inhalt kommt trotzdem an, und jeder kann den Quelltext lesen.
Möglichkeiten, eine Website mit Passwort zu versehen
Option
Schützt Inhalte?
Am besten für
Seitenpasswort im Baukasten oder CMS
Ja, von der Plattform geprüft
Eine private Seite für einen Kunden oder eine Veranstaltung
HTTP Basic Auth (Apache, Nginx)
Ja, über HTTPS
Eine Staging-Website oder einen ganzen Ordner
Mitgliederkonten
Ja, pro Person
Kostenpflichtige oder dauerhafte private Bereiche
JavaScript-Prompt oder verstecktes div
Nein
Nichts, worauf es ankommt
Gib einen Benutzernamen und ein Passwort ein, um den genauen Authorization-Header zu sehen, den ein Browser bei Basic Authentication sendet, und wie leicht er sich wieder in Klartext zurückverwandeln lässt. Das zeigt, warum Basic Auth nur über HTTPS laufen darf. Die Kodierung passiert auf deinem Gerät; nichts wird gesendet.
Entscheide, ob ein gemeinsames Passwort reicht oder ob jede Person ein eigenes Login braucht.
Suche in einem Website-Baukasten oder in WordPress zuerst nach einer Einstellung für Sichtbarkeit oder Passwort der Seite.
Füge auf deinem eigenen Server Basic Authentication für den Ordner oder die Location hinzu und lege die Passwortdatei außerhalb des öffentlichen Webordners ab.
Prüfe, dass die Website HTTPS erzwingt, und teste dann in einem privaten Browserfenster.
Gib Basic Auth ein langes Passwort, das du nirgendwo sonst verwendest, und ändere es, wenn das Projekt oder die Vorschau endet.
In WordPress können Redakteure und Administratoren passwortgeschützte Beiträge im Bearbeiten-Bildschirm ohne Passwort sehen.
Eine geschützte Seite kann trotzdem ihren Titel zeigen. Schreib keine privaten Details in den Seitentitel.
Bitte Suchmaschinen zusätzlich mit einem noindex-Tag, eine private Seite nicht anzuzeigen, aber verlass dich nie darauf als Schutz.
Häufige Fragen
Kann ich eine Seite nur mit HTML durch ein Passwort schützen?
Nein. HTML hat keine Möglichkeit, ein Passwort zu prüfen. Alles, was in der Datei steht, lädt jeder Besucher herunter, daher muss die Prüfung auf dem Server oder der Plattform stattfinden.
Ist HTTP Basic Authentication sicher?
Nur über HTTPS. RFC 7617 weist darauf hin, dass das Passwort im Klartext über das Netzwerk geht, weil Base64 eine Kodierung und keine Verschlüsselung ist, und sagt, dass das Verfahren sensible Informationen nicht ohne etwas wie HTTPS schützen sollte.
Wie schütze ich eine Seite in WordPress mit Passwort?
Öffne die Seite oder den Beitrag, stelle die Sichtbarkeit auf Passwortgeschützt, gib ein Passwort ein und aktualisiere. Besucher sehen den Titel und eine Passwortabfrage statt des Inhalts.
Kann ich eine ganze WordPress-Website schützen?
Laut eigener Dokumentation von WordPress gehört das Verbergen der gesamten Website nicht zum Kern, und sie verweist auf Plugins oder Serverregeln wie .htaccess.
Was zeigt der Browser bei Basic Auth an?
Der Server antwortet mit 401 und einem WWW-Authenticate-Header. Der Browser fragt dann nach Benutzername und Passwort und wiederholt die Anfrage mit einem Authorization-Header.
Warum reine Skript-Sperren scheitern
Ein verbreitetes Tutorial fügt ein prompt() hinzu und vergleicht die Antwort mit einem Passwort, das im selben Skript steht. Der Browser hat die komplette Seite bereits heruntergeladen, und das Passwort steht im Quelltext für jeden, der ihn sich anzeigen lässt. Wer JavaScript abschaltet, überspringt die Prüfung ganz.
Dasselbe gilt für Inhalte, die mit CSS versteckt werden. Stehen die Worte im HTML, sind sie öffentlich.
Zwischen den echten Optionen wählen
Für eine Seite, die du mit einem Kunden teilst, ist das Seitenpasswort in deinem Baukasten oder CMS die schnellste sichere Wahl. Für eine Staging-Kopie einer Website hält Basic Auth auf dem Server das Ganze privat, auch vor Crawlern von Suchmaschinen.
Brauchen verschiedene Personen unterschiedlichen Zugang, oder musst du später eine Person entfernen, nutze Konten. Ein einzelnes gemeinsames Passwort kannst du einer Person nicht wieder wegnehmen, ohne es für alle zu ändern.
Server-Setups, die einen Ordner wirklich schützen
Erstelle die Passwortdatei mit dem Tool htpasswd, das mit Apache ausgeliefert wird (zum Beispiel htpasswd -c /etc/apache2/.htpasswd client), und lege sie außerhalb des öffentlichen Webordners ab.
Apache: .htaccess im zu schützenden Ordner
Require valid-user lässt jeden herein, der in der Passwortdatei steht.
Nginx: eine Location schützen
Nginx liest dasselbe htpasswd-Dateiformat. Lade Nginx nach dem Bearbeiten neu.
Wie man es nicht macht: eine JavaScript-Sperre
Gezeigt, damit du sie erkennst. Passwort und Inhalt stehen beide in der Datei, die jeder Besucher herunterlädt.
Was Basic Auth sendet
Benutzername
Passwort
Der Benutzername darf keinen Doppelpunkt enthalten, weil der Doppelpunkt ihn vom Passwort trennt.
Header, den der Browser mit jeder Anfrage sendet
Von jedem dekodiert, der die Anfrage sieht
Base64 ist keine Verschlüsselung. Ohne HTTPS verrät dieser Header das Passwort.