Wie kann ich ein Verzeichnis mit einem Passwort schützen?
Die Angabe "default-Webseite" als Pfad des Webspace ist ein Platzhalter, der auf jedem Account anders sein kann. Du musst Dir überlegen, welches Verzeichnis Du mit einem Passwort schützen möchtest, und statt "default-website" dieses Verzeichnis einsetzen
Das lässt sich mit einer sogenannten .htaccess Datei realisieren. In dieser wird der Webserver dazu angewiesen, dass für den Zugriff ein Passwort benötigt wird.
Basic Auth schützt die Übertragung des Passworts nicht selbst. Richte zuerst HTTPS und die Weiterleitung auf HTTPS ein und rufe den geschützten Bereich ausschließlich per HTTPS auf. Teste, dass ein HTTP-Aufruf auf HTTPS führt, bevor eine Passwortabfrage erscheint.
In der .htaccess Datei muss folgendes stehen:
AuthType Basic
AuthName "Administrationsbereich"
AuthUserfile /home/webpages/lima-city/username/default-website/.htpasswd
Require valid-user
default-website ist abhängig von Deiner Webseiten-Konfiguration, Deine Einstellung findest Du in der Verwaltung.
Das Administrationsbereich kann man mit einem beliebigen Namen ersetzen. Dieser wird bei der Frage nach dem Passwort angezeigt. Im Pfad hinter AuthUserfile muss der Username angepasst werden. Will man ein Unterverzeichnis schützen, muss man zudem vor dem .htpasswd den Pfad zum Unterordner angeben. Will man also z.B. den Ordner test/ordner mit einem Passwort schützen, muss die .htaccess Datei in diesem Ordner liegen und der Pfad wie folgt lauten:
/home/webpages/lima-city/username/default-website/test/ordner/.htpasswd
In der Datei .htpasswd, welche im selben Ordner wie die .htaccess liegt, stehen die Benutzer mit ihren Kennwörten, ein Beispiel:
user1:$5$rounds=1753$cvgZPPhiACx$Nkz4YfwDOzkvv9CcZaJNmHo.zOGTytO2n0P1yxvSh71
user2:$5$rounds=1635$qX6oc806hRS2$jQPu8bjSNns.ZzmyoJzEKDsvUKuaMq1shiT7t9JPQD6
Vor dem Doppelpunkt steht jeweils der Benutzername, dahinter das gehashte Passwort. Ein Hash speichert das Passwort nicht im Klartext; schwache Passwörter können dennoch durch Ausprobieren ermittelt werden. Verwende deshalb ein langes, eigenes Passwort. Pro Zeile steht ein User, will man also einen User hinzufügen oder löschen, kann man einfach eine Zeile anhängen oder die Zeile mit dem Benutzer löschen.
Erzeuge Passwort-Hashes lokal mit einem vertrauenswürdigen Werkzeug, beispielsweise dem Apache-Programm htpasswd. Übergib das Passwort nicht an eine fremde Webseite. Mit einem lokal installierten htpasswd kannst Du eine Datei mit bcrypt-Hash anlegen:
htpasswd -cB .htpasswd user1
Das Passwort wird interaktiv abgefragt. -c legt eine neue Datei an und überschreibt eine vorhandene Datei; lasse es beim Hinzufügen weiterer Benutzer weg. Lade die Datei anschließend an den in AuthUserFile angegebenen Ort. Bewahre sie möglichst außerhalb des öffentlich erreichbaren Website-Verzeichnisses auf und passe den absoluten Pfad entsprechend an. Prüfe den Zugriff anschließend mit richtigen und falschen Zugangsdaten.
Suchbegriffe: Passwortschutz