Die Kontrolle des Zugriffs auf das Uploads-Verzeichnis in WordPress ist ein wesentlicher Bestandteil der Sicherheitsstrategie jeder Website. Insbesondere sollen direkte Zugriffe auf Mediendateien unterbunden werden, wenn diese nicht durch WordPress selbst initiiert wurden. In diesem Beitrag zeigen wir, wie sich durch eine gezielte .htaccess-Konfiguration unautorisierte Zugriffe im Uploads-Verzeichnis blockieren lassen und stattdessen auf die Startseite Ihrer Webseite umgeleitet werden.
Das Uploads-Verzeichnis (/wp-content/uploads/
) ist ein häufiges Ziel für unerwünschte Zugriffe auf Mediendateien. Angreifer können versuchen, diese Dateien direkt aufzurufen, um vertrauliche Informationen zu extrahieren oder Schwachstellen auszunutzen. Um dies zu verhindern, nutzen wir eine .htaccess
-Datei, die nicht autorisierte Zugriffe erkennt und auf die Hauptdomain (https://www.Ihre-Domain.at
) umleitet.
.htaccess-Konfiguration zur Zugriffskontrolle
Die .htaccess
-Datei wird im Verzeichnis /wp-content/uploads/
erstellt oder bearbeitet. Der folgende Code ermöglicht es, interne Zugriffe durch WordPress zuzulassen und gleichzeitig direkte Zugriffe auf Dateien von externen Quellen zu blockieren:
<IfModule mod_rewrite.c>
RewriteEngine On
# Erlaube Zugriffe durch WordPress
RewriteCond %{HTTP_USER_AGENT} WordPress.* [NC]
RewriteRule ^ - [L]
# Erlaube AJAX-Zugriffe
RewriteCond %{HTTP_REFERER} ^https?://(www\.)?Ihre-Domain\.at [NC]
RewriteRule ^ - [L]
# Leite alle anderen Zugriffe auf die Hauptdomain um
RewriteRule ^.*$ https://www.Ihre-Domain.at [R=302,L]
</IfModule>
Funktionsweise des Codes:
- Erlaube WordPress-Interne Zugriffe:
Die erste Regel erlaubt Zugriffe, wenn derUser-Agent
die ZeichenketteWordPress
enthält. Dies gilt für interne AJAX- und Plugin-Anfragen. - Erlaube Zugriffe mit korrektem Referrer:
Die zweite Regel erlaubt Zugriffe, wenn der Referrer die Hauptdomain (Ihre-Domain.at
) enthält. Somit bleiben Mediendateien auf der eigenen Website zugänglich. - Umleitung aller anderen Anfragen:
Die letzte Regel leitet alle anderen Zugriffe auf die Hauptdomain um. Dadurch wird verhindert, dass Dateien direkt aufgerufen werden können.
Sicherheitsoptimierung: PHP-Dateien sperren
Zusätzlich zur Zugriffssteuerung kann die Ausführung von .php
-Dateien im Uploads-Verzeichnis verhindert werden, um potenziellen Schadcode zu blockieren:
<FilesMatch "\.php$">
Order Deny,Allow
Deny from all
</FilesMatch>
Fazit
Die Implementierung dieser .htaccess
-Regeln im Uploads-Verzeichnis von WordPress trägt maßgeblich zur Absicherung von Mediendateien bei. Es wird verhindert, dass Dateien direkt über die URL aufgerufen werden können, während WordPress weiterhin Zugriff auf die Dateien behält. Dies ist ein effektiver Schutz vor Hotlinking und unautorisiertem Dateizugriff und sollte in jeder WordPress-Installation in Betracht gezogen werden.