joschilein
Multitalent
- 5 Mai 2006
- 1.393
- 151
Ich habe mir ein kleines CMS gebastelt, wofür ich mit zentralen php-Dateien und über .htaccess mit entsprechenden RewriteRules arbeite.
Funktioniert auch alles wunderbar, bis auf die Tatsache, dass, wenn ein Dateiname getroffen wird, diese Datei eben doch angezeigt bzw. ausgeliefert wird. Dies ist insbesondere bei einer config.xml nicht ganz so super
Daher habe ich jetzt schon ewig versucht über die .htaccess eine Lösung zu finden.
Aktuell sieht der entsprechende Part so aus:
Damit ist z.B. die config.xml nicht mehr sichtbar und der Aufruf wird über das ErrorDocument 403 verarbeitet. txt wird ebenfalls geblockt.
Seltsamerweise funktioniert das aber nicht mit tpl* oder xls. In den Fällen wird die entsprechende Datei direkt per Downloadfenster ausgeliefert.
(*Wie man erahnen kann sind das zu parsende html-Dateien)
Nun habe ich schon gesucht und erfahren, dass man die Auslieferung forcieren kann:
Aber wie kann man es verhindern? Alle Versuche über ForceType einen anderen MIME-Type zu setzen, schlagen fehl, es wird also weiterhin ausgeliefert.
Die xls werden zwar nicht auf einen Server geladen und die tpl sind nun auch nicht sooooo geheim, es sollte aber dennoch zu verhindern sein. Zumal ich mir Gedanken mache, ob es bei anderen Servereinstellungen plötzlich dazu kommen könnte, dass auch die config.xml wieder frei einsehbar/auslieferbar ist.
Funktioniert auch alles wunderbar, bis auf die Tatsache, dass, wenn ein Dateiname getroffen wird, diese Datei eben doch angezeigt bzw. ausgeliefert wird. Dies ist insbesondere bei einer config.xml nicht ganz so super
Daher habe ich jetzt schon ewig versucht über die .htaccess eine Lösung zu finden.
Aktuell sieht der entsprechende Part so aus:
Code:
<Files ~ "\.(xml|xls|txt|tpl)$">
Order Deny,Allow
Deny from All
</Files>
Damit ist z.B. die config.xml nicht mehr sichtbar und der Aufruf wird über das ErrorDocument 403 verarbeitet. txt wird ebenfalls geblockt.
Seltsamerweise funktioniert das aber nicht mit tpl* oder xls. In den Fällen wird die entsprechende Datei direkt per Downloadfenster ausgeliefert.
(*Wie man erahnen kann sind das zu parsende html-Dateien)
Nun habe ich schon gesucht und erfahren, dass man die Auslieferung forcieren kann:
Code:
<FilesMatch .... >
ForceType application/octet-stream
Header set Content-Disposition attachment
</FilesMatch>
Aber wie kann man es verhindern? Alle Versuche über ForceType einen anderen MIME-Type zu setzen, schlagen fehl, es wird also weiterhin ausgeliefert.
Die xls werden zwar nicht auf einen Server geladen und die tpl sind nun auch nicht sooooo geheim, es sollte aber dennoch zu verhindern sein. Zumal ich mir Gedanken mache, ob es bei anderen Servereinstellungen plötzlich dazu kommen könnte, dass auch die config.xml wieder frei einsehbar/auslieferbar ist.