HTTP 403 „Verboten“: Ursachen, Vorbeugung und Behebung

Veröffentlicht: 2023-09-01
Inhaltsverzeichnis
  • Was ist HTTP 403?
  • Häufige Ursachen
  • Diagnostizieren
  • Wie man etwas vorbeugt
  • Wie man es repariert
  • Verwandte Fehler

HTTP 403 bedeutet „Verboten“ und zeigt an, dass die Anfrage des Clients vom Server verstanden wird, sich jedoch weigert, sie zu erfüllen.

Ziel dieses Artikels ist es, das Wesentliche von HTTP 403 zu beleuchten, die häufigsten Ursachen aufzudecken, durch die Diagnose zu führen und Präventions- und Lösungstechniken anzubieten.

Wir werden auch damit verbundene Fehler hervorheben, um ein umfassendes Verständnis zu ermöglichen.

Was ist HTTP 403?

403-verbotener-Fehler

HTTP 403 ist ein Statuscode, der „Verboten“ bedeutet. Wenn es auftritt, teilt es dem Client mit, dass der Server die Anfrage versteht, sich jedoch weigert, sie abzuschließen.

Im Gegensatz zum Status 401 „Nicht autorisiert“ , der sich auf Probleme bei der Benutzerauthentifizierung bezieht, weist der Fehler 403 darauf hin, dass die Authentifizierung möglicherweise erfolgreich war, der authentifizierte Benutzer jedoch immer noch nicht über die erforderlichen Berechtigungen für den Zugriff auf die angeforderte Ressource verfügt.

Häufige Ursachen

HTTP 403-Fehler können aus verschiedenen Gründen auftreten:

  1. Unzureichende Berechtigungen : Der Benutzer verfügt möglicherweise nicht über die erforderlichen Berechtigungen, um auf eine bestimmte Ressource auf dem Server zuzugreifen.
  2. Geografische Beschränkungen : Einige Webinhalte sind möglicherweise auf Benutzer aus bestimmten Regionen oder Ländern beschränkt.
  3. IP-Blockierung : Server blockieren möglicherweise bestimmte IP-Adressen aufgrund von Sicherheitsbedenken oder früheren verdächtigen Aktivitäten.
  4. Strenge .htaccess-Regeln : Falsche oder zu restriktive Regeln in der .htaccess-Datei auf Apache-Servern können zu 403-Fehlern führen.
  5. Server-Sicherheitsprotokolle : Einige Server verfügen möglicherweise über Sicherheitsprotokolle, die Anfragen von bestimmten Benutzeragenten oder Browsern blockieren.

Diagnostizieren

Berücksichtigen Sie die folgenden Schritte, um die Grundursache eines HTTP 403-Fehlers zu ermitteln:

  1. Überprüfen Sie die URL : Stellen Sie sicher, dass auf die richtige URL zugegriffen wird und dass keine Tippfehler vorliegen.
  2. Serverprotokolle prüfen : Serverprotokolle können Aufschluss darüber geben, warum eine bestimmte Anfrage abgelehnt wurde.
  3. Überprüfen Sie die .htaccess-Datei : Bei Websites, die unter Apache ausgeführt werden, kann die Überprüfung der .htaccess-Datei zu übermäßig restriktive Regeln identifizieren.

Wie man etwas vorbeugt

Um HTTP 403-Fehler zu vermeiden, sind proaktive Schritte erforderlich, um reibungslose Server-Client-Interaktionen sicherzustellen:

  1. Berechtigungen regelmäßig überprüfen : Überprüfen und passen Sie die Berechtigungen regelmäßig an, um sicherzustellen, dass Benutzer auf die erforderlichen Ressourcen zugreifen können.
  2. Aktualisieren Sie .htaccess sorgfältig : Gehen Sie beim Ändern der .htaccess-Datei vorsichtig vor und führen Sie immer Backups durch.
  3. Überwachen Sie die Serversicherheit : Bleiben Sie über Serversicherheitsprotokolle auf dem Laufenden, um versehentliche Blockaden zu verhindern.

Wie man es repariert

Die Behebung eines 403-Fehlers hängt von der zugrunde liegenden Ursache ab:

1. Passen Sie die Berechtigungen an

Stellen Sie sicher, dass Benutzern oder Verzeichnissen, die Zugriff benötigen, die richtigen Berechtigungen gewährt werden. (mehr lesen)

2. Beheben Sie .htaccess-Probleme

  1. Sichern Sie Ihre .htaccess Datei : Erstellen Sie immer eine Sicherungskopie der .htaccess Datei, bevor Sie Änderungen vornehmen.
  2. Auf Deny-Anweisungen prüfen : Suchen Sie in Ihrer .htaccess Datei nach Deny Anweisungen. Wenn sie vorhanden sind, verursachen sie möglicherweise den Fehler 403. Beispiel: Order allow,deny Deny from all . Um dieses Problem zu beheben, entfernen Sie entweder die Anweisung oder ändern Sie sie, um den gewünschten Datenverkehr zuzulassen.
  3. Passwortschutz : Wenn bestimmte Verzeichnisse mit AuthType , AuthName , AuthUserFile und Require passwortgeschützt sind, stellen Sie sicher, dass Sie über die richtigen Anmeldeinformationen verfügen, um darauf zuzugreifen. Wenn Sie keinen Passwortschutz wünschen, können Sie diese Anweisungen auskommentieren oder entfernen.
  4. Dateiberechtigungen : Auch wenn es sich hierbei nicht unbedingt um eine .htaccess Lösung handelt, stellen Sie sicher, dass Ihre Dateien und Verzeichnisse über die richtigen Berechtigungen verfügen. Für viele Server ist ein typisches Berechtigungssetup:
    • Ordner: 755
    • Dateien: 644
    Falsche Berechtigungen, insbesondere für Verzeichnisse, können zu 403-Fehlern führen.
  5. Verzeichnislisten : Wenn Sie versuchen, auf ein Verzeichnis zuzugreifen, das keine Indexdatei hat (wie index.html oder index.php ) und Verzeichnislisten deaktiviert sind, erhalten Sie möglicherweise einen 403-Fehler. Du kannst entweder:
    • Fügen Sie dem Verzeichnis eine Indexdatei hinzu.
    • Verzeichnislisten aktivieren mit: Options +Indexes
  6. Mod_Rewrite-Regeln : Wenn Sie mod_rewrite-Regeln verwenden, stellen Sie sicher, dass diese korrekt geschrieben sind. Falsche Regeln können manchmal zu 403-Fehlern führen. Kommentieren Sie bestimmte Regeln aus, um festzustellen, ob sie die Ursache sind.
  7. Auf Dateieinschränkungen prüfen : Suchen Sie nach Regeln, die den Zugriff basierend auf dem Dateinamen einschränken, wie zum Beispiel: <Files "secretfile.php"> Order allow,deny Deny from all </Files> Passen Sie diese Regeln nach Bedarf an oder entfernen Sie sie.
  8. Stellen Sie die .htaccess-Syntax sicher : Eine falsch geschriebene .htaccess Datei oder eine mit ungültigen Anweisungen kann einen 403-Fehler verursachen. Stellen Sie sicher, dass alle Anweisungen und die Syntax korrekt sind.

Denken Sie nach dem Vornehmen von Änderungen an der .htaccess Datei daran, den Browser-Cache zu leeren oder einen Test mit einem anderen Browser durchzuführen, um sicherzustellen, dass Sie das aktualisierte Ergebnis sehen. Wenn keine der oben genannten Lösungen das Problem behebt, sollten Sie erwägen, eine Sicherungskopie der .htaccess Datei von einem Zeitpunkt wiederherzustellen, als der Fehler 403 nicht auftrat.

3. IP-Adressen auf die Whitelist setzen

Wenn die IP-Blockierung die Ursache ist, sollten Sie erwägen, die betroffene IP-Adresse auf die Whitelist zu setzen.

Whitelist mit .htaccess:

  1. Suchen Sie nach vorhandenen IP-Blockierungsregeln : Suchen Sie in Ihrer .htaccess Datei nach vorhandenen Regeln, die möglicherweise IP-Adressen blockieren. Sie könnten wie folgt aussehen: Order Deny,Allow Deny from all Allow from 123.123.123.123 In diesem Beispiel ist nur die IP 123.123.123.123 erlaubt und alle anderen IPs werden abgelehnt.
  2. Eine IP-Adresse auf die Whitelist setzen : Wenn Sie eine bestimmte IP-Adresse auf die Whitelist setzen möchten, können Sie sie mit der Direktive Allow from hinzufügen: Allow from YOUR.IP.ADDRESS.HERE Ersetzen Sie YOUR.IP.ADDRESS.HERE durch die IP-Adresse, die Sie auf die Whitelist setzen möchten .
  3. Mehrere IP-Adressen auf die Whitelist setzen : Wenn Sie mehrere IP-Adressen auf die Whitelist setzen möchten, können Sie mehrere Allow from -Anweisungen hinzufügen: Allow from IP.ADDRESS.1 Allow from IP.ADDRESS.2
  4. Setzen Sie einen IP-Bereich auf die Whitelist : Wenn Sie über einen Bereich von IP-Adressen verfügen, können Sie die CIDR-Notation oder Platzhalterzeichen verwenden: #Using CIDR notation Allow from 123.123.123.0/24 # Using wildcards Allow from 123.123.123.* Beide oben genannten Beispiele würden dies tun Setzen Sie alle IP-Adressen von 123.123.123.0 bis 123.123.123.255 auf die Whitelist.
  5. Speichern und testen : Nachdem Sie die erforderlichen Allow from “-Anweisungen hinzugefügt haben, speichern Sie die .htaccess Datei und versuchen Sie dann, über die zuvor blockierte IP-Adresse auf Ihre Website zuzugreifen. Es sollte nun zugänglich sein.
  6. Browser-Cache leeren : Leeren Sie beim Testen immer Ihren Browser-Cache oder verwenden Sie ein Inkognito-/privates Fenster, um sicherzustellen, dass Sie die neuesten Änderungen sehen.

Verwendung von iptables :

ich. Aktuelle iptables-Regeln sichern : Bevor Sie Änderungen vornehmen, empfiehlt es sich, Ihre aktuellen iptables Regeln zu sichern.

 sudo iptables-save > /path/to/backupfile.txt

ii. Eine IP-Adresse auf die Whitelist setzen : So lassen Sie den gesamten Datenverkehr von einer bestimmten IP-Adresse zu:

 sudo iptables -A INPUT -s YOUR.IP.ADDRESS.HERE -j ACCEPT

Ersetzen Sie YOUR.IP.ADDRESS.HERE durch die IP-Adresse, die Sie auf die Whitelist setzen möchten.

iii. Speichern Sie die Änderungen : Abhängig von Ihrer Distribution könnten Sie Folgendes verwenden:

 sudo service iptables save

Oder:

 sudo iptables-save > /etc/sysconfig/iptables

Verwendung von ufw :

ich. Überprüfen Sie, ob UFW installiert ist : Wenn nicht, können Sie es mit dem Paketmanager Ihrer Distribution installieren, zum Beispiel:

 sudo apt install ufw # For Ubuntu/Debian sudo yum install ufw # For CentOS (might not be in the default repositories)

ii. UFW aktivieren : Falls noch nicht aktiviert, können Sie UFW aktivieren mit:

 sudo ufw enable

iii. Eine IP-Adresse auf die Whitelist setzen : So lassen Sie den gesamten Datenverkehr von einer bestimmten IP-Adresse zu:

 sudo ufw allow from YOUR.IP.ADDRESS.HERE

Ersetzen Sie YOUR.IP.ADDRESS.HERE durch die IP-Adresse, die Sie auf die Whitelist setzen möchten.

iv. Überprüfen Sie die Regeln : Sie können die UFW-Regeln überprüfen mit:

 sudo ufw status

4. Suchen Sie Unterstützung beim Hosting-Anbieter : Manchmal kann die Kontaktaufnahme mit Ihrem Hosting-Anbieter dabei helfen, serverspezifische Probleme zu erkennen und zu beheben.

Verwandte Fehler

Um HTTP 403 weiter zu kontextualisieren, berücksichtigen Sie die folgenden verwandten HTTP-Statuscodes:

  1. HTTP 401 (nicht autorisiert) : Die Anfrage erfordert eine Benutzerauthentifizierung.
  2. HTTP 402 (Zahlung erforderlich) : Für zukünftige Verwendung reserviert, weist darauf hin, dass eine Zahlung erforderlich ist.
  3. HTTP 404 (Nicht gefunden) : Die angeforderte Ressource ist auf dem Server nicht verfügbar.

Abschließend ist es wichtig, die Feinheiten des HTTP 403-Statuscodes „Verboten“ zu verstehen, um optimale Webinteraktionen sicherzustellen. Indem sie informiert und proaktiv bleiben, können Entwickler und Benutzer potenzielle Fallstricke umgehen und ein nahtloses Web-Erlebnis gewährleisten.