PHP-Ausführung in beschreibbaren Verzeichnissen sperren

So verhindern Sie die Ausführung von PHP in anfälligen Verzeichnissen Ihrer Website.

Eine der häufigsten Methoden, mit denen eine Website kompromittiert wird, sind PHP-Shells — bösartige Skripte, die ein Angreifer auf Ihren Server hochlädt und dann nutzt, um Dateien zu manipulieren, Konfigurationsdaten auszulesen oder direkten Zugriff auf Ihre Datenbank zu erlangen.

Der Haken dabei: Shells können nur in Verzeichnisse hochgeladen werden, die beschreibbar sind. Wenn ein Ordner also keine PHP-Ausführung benötigt — und bei den meisten Upload- und Medienordnern ist das der Fall — sollten Sie diese explizit deaktivieren. Die üblichen Kandidaten sind Verzeichnisse wie /images/, /uploads/, /templates/ und alle anderen Orte, an denen nutzergenerierte Inhalte landen.

Methode 1 — Server mit CGI, FastCGI, suPHP oder DSO (Apache)

Erstellen Sie im Verzeichnis, in dem Sie die PHP-Ausführung sperren möchten, eine .htaccess-Datei. Falls bereits eine vorhanden ist, fügen Sie Folgendes an deren Anfang ein:

<FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][Ll]|[Ph][Hh][Tt][Mm][Ll])\.?.*">
Order allow,deny
Deny from all
</FilesMatch>

Damit wird der direkte HTTP-Zugriff auf alle PHP- (sowie CGI/Perl/PHTML-)Dateien in diesem Verzeichnis gesperrt. Selbst wenn eine Shell hochgeladen wird, kann sie nicht über den Browser ausgeführt werden.

Unsere Produkte und Dienste

WebhostingLäuft auf ultraschnellen NVMe-Laufwerken. Geeignet für Websites jeder Komplexität.
Bestellen
VPSFlexible Cloud-Infrastruktur mit vollem Root-Zugriff.
Bestellen
Dedizierte ServerBare-Metal-Server für maximale Leistung.
Bestellen

Methode 2 — mod_PHP-Server (DSO — Apache PHP)

Wenn Ihr Server im mod_PHP-Modus läuft und php_flag- sowie php_value-Direktiven in .htaccess erlaubt, reicht diese einzelne Zeile:

php_flag engine off

Fügen Sie sie in eine .htaccess-Datei in dem Ordner ein, den Sie schützen möchten. Dadurch wird der PHP-Interpreter für dieses Verzeichnis und alle darin enthaltenen Unterverzeichnisse vollständig deaktiviert. Jede PHP-Datei, die in diesen Bereich hochgeladen wird, bleibt wirkungslos — der Server wird sie schlicht nicht ausführen.

Hilfe

Bei Fragen oder wenn Sie Unterstützung brauchen, erreichen Sie uns jederzeit über das Ticketsystem — wir helfen Ihnen gern weiter!

Hilfe benötigt?Unsere Ingenieure helfen Ihnen kostenlos bei jeder Frage in wenigen MinutenKontaktieren Sie uns