.htaccess Verzeichnisschutz einrichten
Einen .htaccess Verzeichnisschtz einrichten kann man sehr schnell und einfach. Durch einen Verzeichnisschutz kann man sensible Daten wie Konfigurationsdateien durch Zugriff von außen absichern. Besonders beliebt ist der Schutz auch bei Webentwicklern, da man dadurch die Software am Entwicklungsserver vor Suchmaschinen Bots und neugierigen Kunden verbergen kann.
.htaccess Verzeichnisschutz einrichten
Eine .htaccess Datei ist eine im Webverzeichnis abgelegte zusätzliche Konfigurationsdatei für einen Webserver wie beispielsweise Apache. In dieser Datei kann man diverse Einstellungen von Apache überschreiben beziehungsweise neue Einstellungen ergänzen. Bei PHP Projekten kann man beispielsweise PHP Konfigurationen wie max_execution_time und memory_limit festlegen. Im Fall eines Apache Webservers können in der .htaccess Datei auch Module konfiguriert werden wie beispielsweise das Rewrite Modul, welches URLs in ein leserliches und SEO optimiertes Format bringen.
.htpasswd erzeugen
Basis vom .htaccess Verzeichnisschutz ist eine so genannte .htpasswd Datei in der Benutzer und Passwörter abgespeichert sind, über die man den Verzeichnisschutz übergehen kann. Der Dateiname .htpasswd ist in der Regel üblich, jedoch ist es vollkommen egal wie diese Datei tatsächlich heißt. Informationen in der .htpasswd Datei werden in der Form Benutzername:verschlüsseltes Passwort gespeichert, also mit Doppelpunkt getrennt und immer ein Benutzer pro Zeile. Eine .htpasswd Datei lässt man sich am besten von einem Programm generieren, da Passwörter über eine Hash Funktion verschlüsselt sind. Eine Benutzer-Passwortkonfiguration von Hansi:geheim wird wie folgt dargestellt:
Hansi:$apr1$lZAWjM2/$WzCnFyrHvGyrKU5W/oskL0
Solche Dateien kann man sich online über einen .htpasswd Passwortgenerator erstellen oder über ein Kommandozeilenprogramm htpasswd unter Linux:
htpasswd -c htpasswd Hansi
Dabei wird das Passwort über die Kommandozeile abgefragt. Die neu erstellte .htpasswd Datei legen wir in das Verzeichnis, welches über den Verzeichnisschutz geschützt werden soll.
.htaccess bearbeiten
Nun erstellen wir neben der .htpasswd auch noch eine .htaccess Datei sofern diese nicht ohnehin schon existiert. Am Ende der Datei fügen wir nun den relevanten Code zur Authentifizierung hinzu:
AuthType Basic AuthName "Ohne Login geht es hier nicht weiter!" AuthUserFile .htpasswd Require valid-user
Damit sind wir auch schon am Ziel. Versuchen wir nun in einem beliebigen Browser auf das Verzeichnis oder eine Datei in dem Verzeichnis zuzugreifen, dann bekommen wir folgende Meldung:
Der gesetzte .htaccess Verzeichnisschutz kann übrigens unter dem folgenden Link angesehen und getestet werden: http://developer-blog.net/verzeichnisschutz/index.html
Fazit
Ich habe euch gezeigt wie man einen .htaccess Verzeichnisschutz am Webserver einrichten kann. Damit ist das Verzeichnis und alle Dateien darin vor unerlaubten Zugriff sicher. Diese Vorgehensweise gilt nach wie vor als absolut sicher und wird gerne eingesetzt, da man damit sehr einfach und zuverlässig Dateien vor Zugriff schützen kann.
Wofür verwendet ihr den .htaccess Verzeichnisschutz? Wie kann man diesen eventuell noch optimieren?
Hallo zusammen,
ich benötige eure Hilfe, da ich vermutlich betriebsblind bin. 😉
Ich möchte einen kompl. Ordner mit Passwortschutz versehen, bekomme es jedoch nicht hin.
Die „.htaccess“ Datei hat folgenden Inhalt:
AuthType Basic
AuthName „Ohne Login geht es hier nicht weiter!“
AuthUserFile /mnt/web118/c2/XX/57728***/htdocs/XXXXXX/.htpasswd (X ist der Ordner)
Require valid-user
Im gleichen liegt die .htpasswd Datei mit den verschlüsselten Daten.
Der Ordner lässt sich öffnen OHNE Passwort. 😕
PHP Version 7.4 bei Strato
Webspace Pfad /mnt/rid/88/XX/57728***/htdocs/
Danke für eine rasche Unterstützung.
Kely
Sie könnten mal versuchen die .htpasswd Datei in den selben Ordner wie die .htaccess Datei zu legen und die Datei relativ mit dem Dateinamen ansprechen. Ansonsten würde ich die Dateiberechtigungen für .htaccess und .htpasswd prüfen.