Abrufe per .htaccess schützen
Normalerweise können alle Dateien, die sich im Startverzeichnis der Domain (und allen Unterverzeichnissen) befinden, über einen Browser heruntergeladen werden.
Für die Anzeige der Webseite ist im Wesentlichen ein Zugriff auf .php, .html, .css und .js Dateien erforderlich.
Es kann aber vorkommen, dass sich auf dem Server auch Dateien befinden, die nicht benötigt werden. Dazu gehören Backup-Dateien, Textdateien, SQL-Dateien, die meisten XML-Dateien, usw.
Mit Anweisungen in der .htaccess Datei im Startverzeichnis der Domain kann ein Zugriff auf solche Dateien grundsätzlich unterbunden werden.
Mit dem ersten Beispiel wird der Zugriff auf Dateien mit den Endungen .xml, .bak, .sql, .php4, .php5, .tgz, .gz, .old und .txt zunächst unterbunden:
<FilesMatch "\.(xml|bak|sql|php4|php5|tgz|gz|old|txt)">
Order Deny,Allow
Deny from all
</FilesMatch>
Ebenso kann man alle Dateien ausschließen, die ein Tilde-Zeichen (~) im Dateinamen haben:
<FilesMatch "(~)">
Order Deny,Allow
Deny from all
</FilesMatch>
Sollen einzelne Dateien trotzdem freigegeben werden, können diese über eine "Whitelist" angegeben werden:
<FilesMatch "(sitemap\.xml|robots\.txt|crossdomain\.xml)$">
Order Deny,Allow
Allow from all
</FilesMatch>
Das Aussperren von Besuchern mit bestimmten IP Adressen lässt sich so erreichen:
deny from 123.123.123.123