Zutritt verboten
Teil 3: [Workshop] Zugangskontrolle per .htaccess - Mehr Sicherheit
- [Workshop] Zugangskontrolle per .htaccess - Mehr Sicherheit
- Teil 2: [Workshop] Zugangskontrolle per .htaccess - Mehr Sicherheit
- Teil 3: [Workshop] Zugangskontrolle per .htaccess - Mehr Sicherheit
- Teil 4: [Workshop] Zugangskontrolle per .htaccess - Mehr Sicherheit
- Teil 5: [Workshop] Zugangskontrolle per .htaccess - Mehr Sicherheit
Dateizugriff einschränken
Wenn Sie in der .htaccess-Datei keine weiteren Einschränkungen machen, so ist das komplette Verzeichnis, in welchem sich die Konfigurationsdatei befindet, gegen den Zugriff geschützt. Sie können den Zugriffsschutz jedoch auch granularer gestalten. Dafür stehen Ihnen die Optionen <Limit> und <Files> zur Verfügung.
Mit <Files> können Sie Regeln definieren, die sich auf Dateien oder Dateitypen beziehen. Der Aufbau ist der folgende:
<Files mein.txt>
deny from all</Files>
Mit dieser Einschränkung darf niemand auf die Datei mein.txt zugreifen. Das umgekehrte Ergebnis erreichen Sie mit dem Befehl allow from all - damit geben Sie explizit allen Besuchern Ihrer Website den Zugriff auf die Datei mein.txt.
Erweitert gibt es auch die Option, nicht nur einzelne Dateien, sondern auch komplette Dateigruppen auszuschließen, die einem bestimmten Muster entsprechen. Dazu verwenden Sie die Direktive <FilesMatch>.
<FilesMatch
"^(dev|test)\.js$">
AuthName "Geschützte
Dateien"
AuthType Basic
AuthUserFile /usr/
.htusers
Require valid-user</FilesMatch>
Alle Dateien vom Dateityp js und mit dem Namen dev oder test benötigen einen gültigen Benutzer, damit auf sie zugegriffen werden kann. Die Definition des Suchstrings erlaubt auch die Verwendung verschiedener Platzhalter: ein Fragezeichen ? ersetzt genau kein oder ein Zeichen, ein Asterisk * eine beliebig lange Zeichenkette.

Zugriffe explizit regeln
Neben der exakten Regelung für Dateien oder Dateitypen können Sie auch Zugriffsregeln für benannte Dateiverzeichnisse erstellen. Sie müssen nicht zwingend notwendig die .htaccess-Datei in jedes Verzeichnis kopieren. Dazu stehen Ihnen - analog zu den Dateien - zwei Direktiven zur Verfügung: <directory> und <directorymatch>.
Die Verwendung erfolgt analog den bereits beschriebenen Mustern <files> und <filesmatch>. Der Apache Server setzt für alle Verzeichnisse im Standard ein volles Zugriffsrecht über die Directory-Direktive Allow from All.
<Directory />
Order Deny,Allow
Deny from All</Directory>
Die folgende Definition kehrt dieses ins Gegenteil um und schließt erst einmal alles aus. Im nächsten Schritt können Sie dann explizit für die Verzeichnisse, die Sie zum Zugriff freigeben möchten, dies individuell über Definitionen regeln. Bei diesen Festlegungen sollten Sie beachten, dass innerhalb von .htaccess definierte Zugriffsfolgen festgelegt sind. Die Konfigurationsdatei erlaubt eine hierarchisch aufgebaute Zugriffskontrolle mit folgenden Direktiven: