Apache nur bestimmte extensions zulassen
benjamin
- webserver
Hallo!
Aufgrund von Sicherheitsbedenken möchte ich gerne meinen Apache so konfigurieren, daß nur Dateien mit bestimmten Erweiterungen erlaubt sind.
D.h. ich möchte in einer Liste festlegen, daß z.B. nur *.html, *.htm, *.jpg usw. erlaubt sind.
Ich denke mir daß müßte mit <Location> oder <Files> funktionieren. Ich verstehe aber noch nicht wie ich daß ganze negieren kann, d.h. weise alle Zugriffe ab, welche nicht die genannte Erweiterung haben.
?? das geht bestimmt mit einer tollen regex fomel ...
Danke & Gruß
Benjamin
hi,
Ich denke mir daß müßte mit <Location> oder <Files> funktionieren.
FilesMatch wäre m.E. vorzuziehen, http://httpd.apache.org/docs/mod/core.html#filesmatch.
Ich verstehe aber noch nicht wie ich daß ganze negieren kann, d.h. weise alle Zugriffe ab, welche nicht die genannte Erweiterung haben.
negieren von regex-pattern generell über ein vorangestelltes ^
<FilesMatch ".(gif|jpe?g|png)$">
negiert: <FilesMatch ".^(gif|jpe?g|png)$">
dann noch mit allow/deny from all kombinieren, dann solltest du das gewünschte eigentlich schon haben.
(evtl. reicht es auch aus, nur für die definierten ausnahmen per <FilesMatch) allow zu konfigurieren, und für alles andere - <Directory> - generell deny.)
gruss,
wahsaga
Hallo wahsaga,
Ich denke mir daß müßte mit <Location> oder <Files> funktionieren.
FilesMatch wäre m.E. vorzuziehen,
Es gibt keinen Unterschied zwischen <Files ~ "expr"> und <FilesMatch "expr">.
Ich verstehe aber noch nicht wie ich daß ganze negieren kann, d.h. weise alle
Zugriffe ab, welche nicht die genannte Erweiterung haben.negieren von regex-pattern generell über ein vorangestelltes ^
Nee. Man kann *Zeichenklassen* so negieren ([^a] heisst: alles ausser 'a'). Ansonsten heisst
das Dach 'Anfang des Strings' bzw. 'Anfang der Zeile' im Multiline-Modus.
<FilesMatch ".(gif|jpe?g|png)$">
negiert: <FilesMatch ".^(gif|jpe?g|png)$">
Nein. Es gibt im Apachen keine Möglichkeit, den RegEx für <FilesMatch> bzw. <Files ~> zu
negieren. Es wird allerdings gerade darüber diskutiert, diese Möglichkeit mit aufzunehmen.
Man könnte das Verhalten allerdings über zwei <Files>-Anweisungen erreichen:
<Files "*">
Order Deny,Allow
Deny From All
</Files>
<Files ~ ".(gif|jpe?g|png|html?)$">
Order Allow,Deny
Allow From All
</Files>
So oder so ähnlich müsste das funktionieren.
Grüße,
CK