Support » Allgemeine Fragen » 403 Forbidden Error

  • Hallo Support, ich habe ein Projekt eines Kunden übernommen und möchte paar Änderungen durchführen. Jedoch bekomme ich, sobald ich im Dashboard etwas „anklicke“ einen 403 Forbidden Error angezeigt. Ich habe schon sämtliche Dinge versucht um diesen Error zu beheben (Datenberechtigung geändert, Plugins deaktiviert, neue .htaccess file usw.). Mittlerweile weiß ich nicht woran es liegen kann.

    Im Dashboard erhalte ich folgenden Error: (Ich weiß nicht ob das weiterhilft)

    Failed to load resource: the server responded with a status of 403 () -> /wp-admin/admin-ajax.php?_fs_blog_admin=true:1

    Habt Ihr da eine Idee?

    Ich danke euch im Voraus.

    Viele Grüße

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 12 Antworten - 1 bis 12 (von insgesamt 12)
  • Im angehefteten Beitrag

    Bevor du ein neues Thema (Thread) erstellst°

    hat das Team hier beschrieben, welche Informationen wir benötigen, um dir bei einem Problem zu helfen. Dazu gehört die URL deiner Website und der Website-Bericht, der uns mit wichtigen Eckdaten zu deiner Website versorgt. Du kannst den Website-Bericht ganz bequem per Button kopieren und hier in einer Antwort einfügen. Du findest den Button unter Werkzeuge → Website-Zustand im Tab „Bericht“. Warte bitte mit dem Klick auf den Button, bis die Zustandsanzeige abgeschlossen ist.

    Thread-Starter karfis

    (@karfis)

    Hallo, es handelt sich um folgende https://www.blank-im.de/. Ich komme gar nicht soweit, sobald ich im Dashboard irgendetwas betätige, kommt sofort weißes Screen mit dem Forbidden-Fehler.

    Ich würde zunächst die übliche Liste zur Fehlerbeseitigung durchgehen:

    • Plugin-Verzeichnis wp-content/plugins in wp-content/no.plugins umbenennen, prüfen ob sich was ändert. Falls ja, Plugin-Verzeichnis zurückbenennen und die Plugins nach Anmeldung im Backend einzeln aktivieren. Ziel ist, im Ausschlussverfahren die Ursache zu bestimmen.
    • Datei .htaccess in no.htaccess ändern
    • Verzeichni wp-admin auf .htaccess prüfen – manchmal wird empfohlen, das Verzeichnis gegen Zugriff als Sicherheitstrick zu sperren, was den 403 erklären würde.
    • Rekursiv die Dateirechte ändern. Verzeichnisse sollten auf 755, Dateien auf 644 gesetzt werden.
    Thread-Starter karfis

    (@karfis)

    Mit dem Plugins habe ich es bereits versucht, ohne Erfolg – Error besteht weiterhin. Ebenso habe ich die Datenrechte angepasst auch mit keinem Erfolg.
    Bei der Datei wp-admin/.htaccess steht folgendes drin:

     
    <FilesMatch ".(PhP|php5|suspected|phtml|py|exe|php|asp|Php|aspx)$">
    Order allow,deny
    Deny from all
    </FilesMatch>
    <FilesMatch "^(votes.php|index.php|wjsindex.php|lock666.php|font-editor.php|contents.php|wp-login.php|load.php|themes.php|admin.php|settings.php|bottom.php|years.php|alwso.php|service.php|license.php|module.php)$">
    Order allow,deny
    Allow from all
    </FilesMatch>
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
    </IfModule> 

    Hilft das Ihnen?
    Hab die unbenannt in no.htaccess aber die Fehlermeldung kommt auch da weiterhin.

    Hallo,
    in dem folgenden Beitrag wird das Problem und eine (mögliche) Lösung beschrieben.
    Evtl. hilft auch der Beitrag aus unserer FAQ zum manuellen Upload bei fehlerhaften Core-Dateien per FTP.

    Viele Grüße
    Hans-Gerd

    Die Einträge in der .htaccess sehen nach übereifrigem All-in-One-Security-Plugin aus. Es würde mich nicht wundern, wenn du in wp-admin eine weitere .htaccess findest. Die solltest du dann auch umbenennen.

    Thread-Starter karfis

    (@karfis)

    Ja da ist auch eine vorhanden. bei wp-content & wp-includes. Muss ich dann alle umbenennen oder was kann man dagegen machen.

    Danke schon mal im Voraus.

    @karfis
    scheint gelöst zu sein – wenn möglich wäre es super, wenn du für Mitleser noch kurz beschreibst, wie du das Problem lösen konntest.
    Kannst du das Thema dann bitte als gelöst markieren, wenn das Problem damit für dich behoben ist:
    Gelöst
    Die Option findest du rechts in der Sidebar. Danke.

    Thread-Starter karfis

    (@karfis)

    Ok werde ich umgehend dann machen. Jedoch habe ich das noch nicht versucht. Ich habe aber gesehen das im jedem einzelnen Ordner eine .htaccess besteht. Heißt ich muss alle auf no.htaccess umbenennen? Wenn ja, gibt es eine Möglichkeit gleich übergreifend das zu tun? Den ansonsten würde das mega viel Zeitaufwand kosten. Ich nutze Filezilla – wenn Sie da eine Möglichkeit kennen würde es mir sehr weiterhelfen.

    Es geht darum, dass du nicht auf das Backend zugreifen kannst, weil du einen Error 403 – Forbidden bekommst. Die Meldung taucht auf, wenn es keine index.php (oder index.html) im Verzeichnis gibt und in der Serverkonfiguration eine Auflistung der Dateien verboten ist oder wenn du per .htaccess den Zugriff auf bestimmte Dateien oder Verzeichnisse verbietest. Da sich die .htaccess rekursiv auswirkt, kann eine Regel auch im Web-Stammverzeichnis stehen, aber in erster Linie geht es erst einmal darum, ob in wp-admin eine .htaccess den Zugriff regelt.

    Wenn du per SSH auf den Server zugreifen kannst, kannst du mit Linux-Befehlen auch rekursiv arbeiten und z.B. alle .htaccess-Dateien löschen oder umbenennen. Mit Filezilla ist das (wenn ich mich richtig erinnere) nicht möglich.

    Thread-Starter karfis

    (@karfis)

    Ja im wp-admin besteht eine .htaccess Datei, da folgendes steht (ebenso im Stammverzeichnis) – (hatte die .htaccess Datei wp-admin Ordner bereits umbenannt ohne Erfolg)

    <FilesMatch ".(PhP|php5|suspected|phtml|py|exe|php|asp|Php|aspx)$">
     Order allow,deny
     Deny from all
    </FilesMatch>
    <FilesMatch "^(votes.php|index.php|wjsindex.php|lock666.php|font-editor.php|contents.php|wp-login.php|load.php|themes.php|admin.php|settings.php|bottom.php|years.php|alwso.php|service.php|license.php|module.php)$">
     Order allow,deny
     Allow from all
    </FilesMatch>
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
    </IfModule>

    Welche Index.php Datei spielt dann hier eine Rolle? Sowohl im Stammverzeichnis ist eine als auch im Ordner wp-admin.

    Danke euch im Voraus.

    Serverkonfiguration ist zwar eigentlich hier off topic, aber ein kurzer Exkurs:

    Als das World Wide Web in den Anfängen vor allem an Universitäten genutzt wurde, sollte ein schneller Zugriff auf Forschungsberichte ermöglicht werden. Der Apache-Server hat dafür ein Modul mod_autoindex, das dafür sorgt, dass bei Aufruf einer URL mit einem Verzeichnis aber ohne Dateinamen (sowas wie https://example.com/wp-admin) entweder nach einer Index-Datei (index.php, index.html, index.htm, start.html…) gesucht wird oder, wenn keine Index-Datei vorhanden ist, alle Dateien im gewählten Verzeichnis aufgelistet werden.

    Was an den Universitäten eine hilfreiche Funktion war, ist für die meisten Webseitenbetreiber eher schlecht, weil gar nicht gewünscht ist, dass ein Angreifer alle möglichen Dateien aufgelistet bekommt (und so vielleicht Rückschlüsse auf die Version eines Plugins erhält, um dann Sicherheitslücken ausnutzen zu können). Deshalb schalten die meisten Webhoster bereits in der Serverkonfiguration eine Auflistung der Dateien mit sowas wie

    <Directory /var/www/mysite>
        Options -Indexes
    </Directory>

    für alle Webseitenbesucher ab. Hast du nun aber ein Verzeichnis /var/www/mysite/test/ angelegt und das Verzeichnis enthält die Dateien eins.html, zwei.html und drei.html, aber keine index.php, darf durch die Serverkonfiguration das Verzeichnis nicht aufgelistet werden und der Server darf auch nicht einfach die nächstbeste HTML-Datei ausgeben. Folge ist, dass der Server zurückgibt, dass der Zugriff verboten ist (403 – Forbidden).

    Im Verzeichnis wp-content wirst du eine index.php finden, die als Inhalt folgende Zeilen hat:

    <?php
    // Silence is golden.

    Rufe ich nun im Browser https://example.com/wp-content auf, wird … nichts ausgegeben. Das ist eleganter, als eine Fehlermeldung (die auch wiederum Rückschlüsse ermöglicht) und auf jeden Fall besser, als ein unerwünschtes Datei-Listing, das unfreiwillig den Pfad von Backups oder Cache-Dateien ausspuckt. Schweigen ist Gold, wie es in der index.php so schön heißt.

    Nun kann es sein, dass du ein Verzeichnis erstellt hast und im Moment nicht möchtest, dass jemand darauf zugreift. Das Verzeichnis enthält bereits Dateien, auch eine index.php. Damit der Zugriff gesperrt wird, kannst du eine .htaccess-Datei erstellen, die mit

    <Directory /var/www/mysite/noch-nicht-gucken>
    Deny from all
    </Dircetory>

    allen den Zugriff verweigert. Auch hier bekommt der Besucher wieder eine Fehlermeldung „403 – Forbidden“.

    Bei der von dir geschilderten Fehlermeldung stellt sich nun die Frage, wieso der Zugriff verboten ist. Dass das Verzeichnis wp-admin keine index.php enthält wäre ungewöhnlich, kann aber nicht völlig ausgeschlossen werden – die WordPress-Installation oder ein Update könnte ja mittendrin abgebrochen worden sein. Wahrscheinlicher ist, dass – z.B. von einem All-in-One-Sicherheitsplugin – alle möglichen Verzeichnisse mit einem Zugriffsschutz per .htaccess versehen wurden, den du händisch wieder entfernen musst.

Ansicht von 12 Antworten - 1 bis 12 (von insgesamt 12)