Vertrauenswürdige WordPress-Tutorials, wenn Sie sie am dringendsten benötigen.
Anfängerleitfaden für WordPress
WPB Tasse
25 Millionen+
Websites, die unsere Plugins verwenden
16+
Jahre WordPress-Erfahrung
3000+
WordPress-Tutorials von Experten

So deaktivieren Sie die PHP-Ausführung in bestimmten WordPress-Verzeichnissen

Das Entdecken einer unbekannten PHP-Datei in Ihrem WordPress-Upload-Ordner ist ein erschreckender Moment. Wir haben Tausenden von panischen Benutzern geholfen, ihre Websites zu sichern, nachdem sie genau diese Schwachstelle entdeckt hatten.

Dieses Problem legt eine versteckte Sicherheitslücke offen, die Ihre Website für Angreifer anfällig macht. Hacker nutzen diese ungeschützten Verzeichnisse, um bösartige Skripte hochzuladen und versteckte Hintertüren zu schaffen.

Glücklicherweise können Sie diese gängige Angriffsmethode mit ein paar schnellen Anpassungen blockieren. Das Deaktivieren der PHP-Ausführung in WordPress erschwert es böswilligen Akteuren, die Kontrolle über Ihre Website zu übernehmen.

Indem Sie die PHP-Ausführung in WordPress-Verzeichnissen blockieren, wo sie nicht benötigt wird, schließen Sie eine große Sicherheitslücke.

Wir zeigen Ihnen Schritt für Schritt genau, wie Sie Ihre Website schützen. Lesen Sie weiter, um zu erfahren, wie Sie Ihre WordPress-Verzeichnisse sperren und Ihre harte Arbeit sicher aufbewahren.

So deaktivieren Sie die PHP-Ausführung in bestimmten WordPress-Verzeichnissen

Warum die PHP-Ausführung in bestimmten WordPress-Verzeichnissen deaktivieren?

Standardmäßig macht WordPress bestimmte Verzeichnisse beschreibbar, damit Sie und andere autorisierte Benutzer Ihrer Website problemlos Themes, Plugins, Bilder und Videos auf Ihre Website hochladen können.

Diese Fähigkeit kann jedoch missbraucht werden, wenn sie in die falschen Hände gerät, z. B. von Hackern, die sie zum Hochladen von Backdoor-Zugangsdateien oder Malware auf Ihre WordPress-Website verwenden können.

Diese bösartigen Dateien werden oft als Kern-WordPress-Dateien getarnt. Sie sind meist in PHP geschrieben und können im Hintergrund ausgeführt werden, um vollen Zugriff auf jeden Aspekt Ihrer Website zu erhalten.

Klingt beängstigend, oder?

Keine Sorge. Dafür gibt es eine einfache Lösung. Deaktivieren Sie einfach die PHP-Ausführung in bestimmten Verzeichnissen, in denen Sie sie nicht benötigen. Dadurch werden in diesen Verzeichnissen keine PHP-Dateien ausgeführt.

Schauen wir uns an, wie Sie die WordPress-Sicherheit verbessern können, indem Sie die PHP-Ausführung über die .htaccess-Datei deaktivieren.

Deaktivieren der PHP-Ausführung in bestimmten WordPress-Verzeichnissen mit der .htaccess-Datei

Die meisten WordPress-Sites haben eine .htaccess-Datei im Stammverzeichnis. Dies ist eine Konfigurationsdatei, die von Apache, einer der beliebtesten Webserver-Software, verwendet wird. (Wenn Ihr Hoster einen anderen Server wie Nginx verwendet, machen Sie sich keine Sorgen, wir behandeln dies im FAQ-Bereich unten.)

Hinweis: Wenn Sie einen Managed WordPress Hosting-Anbieter nutzen, blockiert dieser wahrscheinlich bereits standardmäßig die PHP-Ausführung in Ihrem Upload-Ordner, um Ihre Website zu schützen. Wenn Sie sich nicht sicher sind, können Sie sich jederzeit an dessen Support-Team wenden, um dies zu überprüfen!

Diese leistungsstarke Konfigurationsdatei wird verwendet, um den Admin-Bereich mit einem Passwort zu schützen, die Verzeichnisanzeige zu deaktivieren, eine SEO-freundliche URL-Struktur zu generieren und vieles mehr.

Standardmäßig befindet sich die .htaccess-Datei im Stammverzeichnis Ihrer WordPress-Website, Sie können jedoch auch zusätzliche .htaccess-Dateien in Ihren inneren WordPress-Verzeichnissen erstellen und verwenden.

Um Ihre Website vor Backdoor-Zugriffsdateien zu schützen, müssen Sie eine .htaccess-Datei erstellen und diese in das Verzeichnis /wp-content/uploads Ihrer Website hochladen. Dies ist der häufigste Ort, an dem Hacker versuchen, bösartige Skripte zu verstecken, was ihn zum wichtigsten Ordner macht, den es zu sichern gilt.

Erstellen Sie einfach eine neue Datei auf Ihrem Computer mit einem einfachen Texteditor wie Notepad (unter Windows) oder TextEdit (unter Mac). Wenn Sie einen Mac verwenden, stellen Sie sicher, dass Sie im oberen Menü auf Format » Als einfachen Text sichern gehen.

Speichern Sie die leere Datei und nennen Sie sie genau .htaccess (stellen Sie sicher, dass sie nicht versehentlich als .htaccess.txt gespeichert wird).

Kopieren Sie nun den folgenden Code und fügen Sie ihn in Ihre .htaccess-Datei ein:

<Files *.php>
  Require all denied
</Files>

Dieser Code weist Ihren Server an, jeden Versuch zu blockieren, eine Datei, die mit .php endet, direkt aus diesem Ordner auszuführen. Nachdem Sie den Code eingefügt haben, speichern Sie die Datei.

Als Nächstes müssen Sie diese Datei in die Ordner /wp-includes und /wp-content/uploads auf Ihrem WordPress-Hosting-Server hochladen.

Profi-Tipp: Wenn Sie einen Fehler machen und Ihre Website nach dem Hochladen dieser Datei eine Fehlermeldung anzeigt, geraten Sie nicht in Panik! Löschen Sie einfach die gerade hochgeladene .htaccess-Datei mit Ihrem FTP-Client, und Ihre Website wird sofort wieder normal funktionieren.

Sie können sie mit einem FTP-Client oder der Dateimanager-App in Ihrem cPanel-Dashboard des Hosting-Kontos hochladen.

Klicken auf die Schaltfläche „Hochladen“ im Bluehost-Dateimanager

Sobald die .htaccess-Datei mit dem obigen Code hinzugefügt wurde, werden keine PHP-Skripte mehr in diesen Verzeichnissen ausgeführt.

Bonus: Verzeichnis-Browsing in WordPress deaktivieren

Während Sie Ihre .htaccess-Datei bearbeiten, empfehlen wir dringend, einen weiteren Schritt zur Verbesserung Ihrer WordPress-Sicherheit zu unternehmen: das Deaktivieren des Verzeichnis-Browsings.

Standardmäßig, wenn Ihr Webserver in einem Ordner keine Indexdatei (wie index.php oder index.html) findet, zeigt er automatisch eine Seite an, die alle Dateien und Ordner in diesem Verzeichnis auflistet.

Hacker lieben das Verzeichnis-Browsing, da es ihnen ermöglicht, leicht in Ihren Dateien herumzuschnüffeln und nach Schwachstellen zu suchen.

Um dies zu verhindern, können Sie einfach eine Codezeile zu Ihrer Haupt-Website-htaccess-Datei hinzufügen (derjenigen, die sich in Ihrem Stammverzeichnis befindet, nicht derjenigen, die Sie gerade zu Ihrem Upload-Ordner hinzugefügt haben):

Options -Indexes

Ausführlichere Anweisungen finden Sie in unserem speziellen Leitfaden zum Thema Deaktivieren des Verzeichnis-Browsings in WordPress.

Backdoors in WordPress mit Sucuri überprüfen

Die Verwendung dieses .htaccess-Tricks hilft Ihnen, Ihre WordPress-Sicherheit zu erhöhen, behebt aber keine bereits gehackte WordPress-Site.

Backdoors sind raffiniert getarnt und können bereits offen sichtbar sein.

Wenn Sie auf mögliche Backdoors auf Ihrer Website prüfen möchten, müssen Sie Sucuri auf Ihrer Website aktivieren.

Sucuri

Sucuri ist das beste WordPress-Sicherheits-Plugin auf dem Markt. Es scannt Ihre Website auf mögliche Bedrohungen, verdächtigen Code, Malware und Schwachstellen.

Es blockiert auch die meisten Hacking-Versuche effektiv, bevor sie Ihre Website überhaupt erreichen, indem es eine Firewall zwischen Ihre Website und verdächtigen Datenverkehr schaltet.

Am wichtigsten ist, dass es Ihre Website bereinigt, wenn Ihre WordPress-Site gehackt wird. Um mehr zu erfahren, lesen Sie unseren Sucuri-Testbericht, da wir deren Dienst seit Jahren nutzen.

Mehr erfahren Sie in unserem Leitfaden zum Finden und Beheben von Backdoors in einer gehackten WordPress-Site.

Häufig gestellte Fragen zur Deaktivierung der PHP-Ausführung

Hier sind einige der häufigsten Fragen, die uns zur Härtung der WordPress-Sicherheit durch Deaktivierung der PHP-Ausführung in bestimmten Verzeichnissen gestellt werden.

1. Was ist eine .htaccess-Datei und wo befindet sie sich?

Die .htaccess-Datei ist eine Serverkonfigurationsdatei, die von Apache-Webservern verwendet wird. In WordPress steuert sie Dinge wie die URL-Struktur Ihrer Website und kann zum Hinzufügen von Sicherheitsregeln verwendet werden. Sie finden sie normalerweise im Hauptstammverzeichnis Ihrer WordPress-Installation.

2. Wird die Deaktivierung der PHP-Ausführung im Uploads-Ordner meine Website beeinträchtigen?

Nein, diese Sicherheitsmaßnahme sollte den normalen Betrieb Ihrer Website nicht beeinträchtigen. Das Verzeichnis wp-content/uploads ist nur für Medien-Uploads wie Bilder und Videos gedacht, nicht für die Ausführung von PHP-Dateien. Ihre Themes und Plugins speichern ihre notwendigen Dateien in separaten Ordnern, in denen die PHP-Ausführung weiterhin sicher erlaubt ist.

3. Reicht dieser .htaccess-Trick aus, um meine Website vollständig zu sichern?

Obwohl dies ein wirksamer und wichtiger Sicherheitsschritt ist, ist es nur ein Teil eines vollständigen Sicherheitsplans. Eine vollständige Strategie sollte auch die Verwendung eines WordPress-Sicherheits-Plugins, die Aktualisierung aller Ihrer Themes und Plugins sowie die Durchsetzung starker Passwörter für alle Benutzer umfassen.

4. Was ist, wenn mein Webhost Nginx anstelle von Apache verwendet?

Der .htaccess-Datei-Trick funktioniert nur auf Apache-Webservern. Wenn Ihr WordPress-Hosting-Anbieter Nginx verwendet, können Sie keine .htaccess-Datei verwenden, um die PHP-Ausführung in WordPress-Verzeichnissen zu deaktivieren.

Stattdessen erfordert Nginx das Hinzufügen einer bestimmten Regel (eines „location block“) direkt in die nginx.conf-Konfigurationsdatei Ihres Servers, um den PHP-Zugriff im Upload-Ordner zu verweigern.

Hinweis: Das Bearbeiten von Nginx-Konfigurationsdateien ist eine fortgeschrittene Aufgabe. Ein einziger Syntaxfehler kann Ihren gesamten Webserver zum Absturz bringen. Darüber hinaus schränken viele verwaltete WordPress-Hosts den Zugriff auf diese Kerndateien ein.

Aus diesem Grund empfehlen wir Ihnen dringend, sich an das Support-Team Ihres Hosting-Anbieters zu wenden. Diese können die richtigen Nginx-Deny-Regeln in wenigen Minuten sicher für Sie zu Ihrem Server hinzufügen.

5. Was soll ich tun, wenn ich nach dem Hinzufügen der .htaccess-Datei eine Fehlermeldung erhalte?

Zuerst keine Sorge! Sie haben Ihre Website nicht dauerhaft beschädigt. Löschen Sie einfach die .htaccess-Datei, die Sie gerade in Ihren /wp-content/uploads-Ordner hochgeladen haben, und Ihre Website ist sofort wieder online.

Wenn Sie nach dem Hochladen der Datei eine „500 Internal Server Error“-Meldung erhalten haben, bedeutet dies normalerweise, dass Ihr Webhost eine ältere Version der Apache-Serversoftware verwendet. Um dies zu beheben, öffnen Sie Ihre .htaccess-Datei und ersetzen Sie den von Ihnen hinzugefügten Code durch den folgenden Ausschnitt:

<Files *.php>
deny from all
</Files>

Speichern Sie die Datei und laden Sie sie erneut hoch. Diese ältere Version des Codes tut dasselbe, ist aber mit veralteten Servern kompatibel.

Zusätzliche Ressourcen zur Verbesserung der WordPress-Sicherheit

Wir hoffen, dieser Artikel hat Ihnen geholfen zu lernen, wie Sie die PHP-Ausführung in bestimmten WordPress-Verzeichnissen deaktivieren, um die Sicherheit Ihrer Website zu erhöhen. Möglicherweise möchten Sie auch einige andere Sicherheitstechniken erlernen. Hier sind einige unserer besten Anleitungen zur Verbesserung der WordPress-Sicherheit:

Wenn Ihnen dieser Artikel gefallen hat, abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Video-Tutorials. Sie finden uns auch auf Twitter und Facebook.

Offenlegung: Unsere Inhalte werden von den Lesern unterstützt. Das bedeutet, wenn Sie auf einige unserer Links klicken, können wir eine Provision verdienen. Sehen Sie, wie WPBeginner finanziert wird, warum das wichtig ist und wie Sie uns unterstützen können. Hier ist unser Redaktionsprozess.

Das ultimative WordPress-Toolkit

Erhalten Sie KOSTENLOSEN Zugang zu unserem Toolkit – eine Sammlung von WordPress-bezogenen Produkten und Ressourcen, die jeder Profi haben sollte!

Leserinteraktionen

42 CommentsLeave a Reply

  1. bezüglich des Deaktivierens von PHP-Ausführungen im wp-includes-Ordner, um die Ausführung von Backdoor-Code usw. zu verhindern – aber es scheint viele viele PHP-Dateien in diesem Ordner zu geben, z. B.: admin-bar.php oder author-template.php, um nur einige zu nennen, die wichtig zu sein scheinen und ich frage mich, ob das Platzieren einer htaccess-Datei in diesem Ordner diese Dateien nicht an der Ausführung hindert und möglicherweise Kernfunktionen von WordPress stört? übrigens danke für viele schöne Artikel auf Ihrer Website

    • Sofern Sie kein spezielles Plugin haben, das die Funktionalität zu den Dateien hinzufügt, sollte es kein Problem geben, die PHP-Ausführung in den Ordnern zu verhindern.

      Admin

      • Danke für deine Antwort. Mein Setup ist einfach: Astra/Spectra, Malcare und All in One SEO. In diesem Fall werde ich .htaccess auch in wp-includes platzieren. Danke nochmals für viele tolle Artikel

  2. Ich sehe dies als eine großartige Form der Website-Sicherung, indem die PHP-Ausführung in Ordnern deaktiviert wird. Laut diesem Artikel sind nur zwei Verzeichnisse gesichert, was ist mit anderen? Sind sie natürlich gesichert oder brauchen Hacker sie während des Versuchs nicht?

    • Andere Bereiche der Website-Dateien erfordern normalerweise strengeren Zugriff oder enthalten PHP-Dateien, die für die Funktion Ihrer Website erforderlich sind.

      Admin

  3. Danke für diese Sicherheitstipps. Ich habe eine htaccess-Datei erstellt und werde sie per FTP hochladen. Ich habe eine Website auf meinem eigenen Server, daher liegt die Frage der Sicherheit ganz bei mir. Danke für den nächsten Schritt, um mein WordPress wieder etwas sicherer zu machen.

  4. Ich habe auch diese Benachrichtigung bei meinem Updraft-Plugin, dass Backups nicht stattfinden. Kann das an htaccess liegen?

    „Backup-Verzeichnis konnte nicht erstellt werden…

    Der Ordner existiert, aber Ihr Webserver hat keine Berechtigung, dorthin zu schreiben. Sie müssen sich an Ihren Webhosting-Anbieter wenden, um herauszufinden, wie Sie Berechtigungen für ein WordPress-Plugin festlegen, um in das Verzeichnis zu schreiben. (wp-content/updraft)

  5. FYI: Sie haben einen Tippfehler in Ihrem Code-Snippet für das .htaccess-Snippet.

    Die Verwendung Ihres Code-Snippets, wie es ist (ohne den schließenden /), unterbricht das Laden von Bildern.

  6. Ich habe einige .php-Dateien im Uploads-Ordner gefunden, die von Plugins erstellt wurden. Kann ich davon ausgehen, dass dies kein Problem verursacht, oder muss ich jedes Plugin einzeln analysieren?

    • Wenn Sie sich an Ihre Plugins wenden, können diese Ihnen die spezifischen Details für diese Dateien mitteilen.

      Admin

  7. Großartige Schreibweise! Sie haben ein Händchen für informative Texte. Ihre Inhalte haben mich über alle Maßen beeindruckt. Ich habe große Bewunderung für Ihre Schreibweise. Vielen Dank für all Ihre wertvollen Beiträge zu diesem Thema.

    • Hallo Thato,

      Sie können Ihre .htaccess-Datei als Backup auf Ihren Computer herunterladen und sie dann von Ihrer Website löschen. Gehen Sie zum WordPress-Adminbereich Einstellungen » Permalinks und klicken Sie auf die Schaltfläche Änderungen speichern. Dies sollte Ihre .htaccess-Datei neu generieren.

      Admin

  8. Nicht wp-content machen.
    Machen Sie wp-content/uploads.

    Und das:

    allow,deny bestellen
    denied from all

    Kann auf Servern stark variieren.

  9. Beeinflusst es die Uploads von Dateien auf Webseiten?
    Ich habe festgestellt, dass nach dem Hochladen dieser htaccess-Datei in den Ordner viele Bilder aus vielen Beiträgen nicht angezeigt werden.

  10. Ja, das Verweigern des Zugriffs auf PHP-Dateien im Verzeichnis „includes“ zerstört die Website, da „include“ tatsächlich .htaccess-Beschränkungen befolgt.

    Aber die Einschränkung des Uploads-Verzeichnisses ist sehr clever und sollte standardmäßig im Uploads-Verzeichnis vorhanden sein, und es gibt keinen guten Grund, warum sie nicht vorhanden sein sollte.

  11. ZOMG! Kannst du nicht einfach den Schreibzugriff auf den Ordner /wp-includes deaktivieren?
    Warum sich mit den Konsequenzen herumschlagen, wenn man die Ursache verhindern kann?

  12. Sie können dies auch in Ihre Apache VirtualHost einfügen, was dasselbe bewirkt:

    Bestellung erlauben,verweigern
    Verweigern von allen

  13. wie implementiere ich diesen Code, wenn wir eine Kombination aus Klein- und Großbuchstaben bei der Dateiendung haben, zum Beispiel on.php auf meiner Website funktioniert es, aber es funktioniert nicht, wenn die Datei mit.PHp,.PHP .PhP oder einer Kombination davon benannt ist. Das Backdoor-Skript wird immer noch ausgeführt.

    Danke

    • Sie können dies in Ihre .htaccess-Datei einfügen

      Bestellung verweigern, erlauben
      Verweigern von allen

  14. Hallo Syed,
    Danke für diesen informativen Beitrag, und er bietet tatsächlich eine großartige Lösung, um WordPress vor Hackern zu retten.

  15. Ich habe eine .htaccess-Datei im wp-includes-Ordner erstellt. Die Seite sah gut aus, aber mein WYSIWYG-Editor auf den Admin-Seiten funktionierte nicht. Ich musste die .htaccess-Datei wieder entfernen. (WP 3.9.1)

  16. Ich habe auch meinen wp-includes-Ordner voller PHP-Dateien gefunden und ich sehe nicht, wie die Verwendung dieser .htaccess-Datei dort etwas nicht kaputt machen würde. Ich habe sie im Uploads-Verzeichnis verwendet.

  17. verzeihen Sie mein schlechtes Englisch...
    Ich habe alle Ihre Anweisungen in diesem Artikel befolgt, aber als ich zu meinem Dashboard ging, um einen neuen Beitrag hinzuzufügen, war mein Beitragsbereich durcheinander. ... Ich vermute, die .htaccess war das Problem.
    Als ich sie löschte, war der Beitrag in Ordnung.

  18. Ich habe die .htaccess-Datei zu meinem wp-includes hinzugefügt und hatte keine Probleme. Vielen Dank für die Tipps.

  19. Ich habe dies in meinem Verzeichnis /wp-includes/ ausprobiert, das voller PHP-Dateien ist. Natürlich konnte ich die Website nicht mehr aufrufen. Meinten Sie wirklich, das Includes-Verzeichnis für die Verwendung mit der .htaccess-Datei einzuschließen?

    Meinten Sie vielleicht /wp-includes/images ?

    • Nein. Wir meinten den Ordner /wp-includes/. Wir haben das in unserem wp-includes-Ordner. Wenn es aus irgendeinem Grund Ihre Website beeinträchtigt, löschen Sie die .htaccess-Datei aus Ihrem wp-includes-Ordner.

      Admin

      • Seltsam, mein wp-includes-Ordner hat über 90 PHP-Dateien darin. Und es zerstört die Website. Ich habe es sofort wieder entfernt.

        Aber ich habe es in den Ordner /wp-content/uploads/ gelegt und es funktioniert dort einwandfrei. Danke für die Antwort

        • Eine htaccess-Datei, die den Zugriff auf PHP-Dateien in einem Verzeichnis voller PHP-Dateien verweigert, erscheint ziemlich seltsam. Ich gehe davon aus, dass dies daran liegt, dass diese Dateien normalerweise nur eingebunden und nicht direkt ausgeführt werden. Wenn das stimmt, wäre es dann nicht besser, einfach den Zugriff auf das gesamte Verzeichnis zu verweigern?

Eine Antwort hinterlassen

Vielen Dank, dass Sie sich entschieden haben, einen Kommentar zu hinterlassen. Bitte beachten Sie, dass alle Kommentare gemäß unserer Kommentarrichtlinie moderiert werden und Ihre E-Mail-Adresse NICHT veröffentlicht wird. Bitte verwenden Sie KEINE Schlüsselwörter im Namensfeld. Lassen Sie uns ein persönliches und bedeutungsvolles Gespräch führen.