403

Forbidden

Offiziell Unterstatus-Codes
Diese Anfrage ist nicht erlaubt

Allgemeine Erklärung des 403-Statuscodes

Der HTTP-Statuscode 403 Forbidden wird zurückgegeben, wenn ein Client eine Anfrage an einen Server sendet, aber der Server die Anfrage aufgrund von Berechtigungsproblemen ablehnt. Wenn zum Beispiel in der .htpasswd und .htaccess ein Nutzername und ein Passwort hinterlegt ist, und diese Daten falsch eingegeben wurden, wird der HTTP Statuscode 403 Forbidden zurückgegeben. Dies bedeutet, dass der Client nicht die erforderlichen Berechtigungen hat, um auf die angeforderte Ressource zuzugreifen. Ein häufiges Beispiel ist, wenn ein Benutzer versucht, auf eine geschützte Seite zuzugreifen, für die er keine Zugriffsberechtigung hat, oder wenn ein Server aufgrund von IP-basierten Einschränkungen oder Authentifizierungsproblemen den Zugriff auf eine bestimmte Ressource verweigert.

Spezifikation von dem HTTP statuscode 403

Der Statuscode 403 Forbidden zeigt an, dass der Server die Anfrage verstanden hat, sie aber nicht zulassen kann. Ein Server, der bekannt geben möchte, warum die Anfrage abgelehnt wurde, kann diesen Grund in der Nutzlast der Antwort (falls vorhanden) beschreiben. Wurden in der Anfrage Authentifizierungsdaten angegeben, hält der Server diese für unzureichend, um den Zugriff zu gewähren. Der Client SOLLTE die Anfrage NICHT automatisch mit denselben Anmeldedaten wiederholen. Der Client KANN die Anfrage mit neuen oder anderen Anmeldedaten wiederholen. Eine Anfrage kann jedoch aus Gründen, die nicht mit den Zugangsdaten zusammenhängen, abgelehnt werden. Ein Ursprungsserver, der das Vorhandensein einer verbotenen Zielressource "verbergen" möchte, KANN stattdessen mit dem Statuscode 404 (Not Found) antworten.

Quelle / Zitat von: Spezifiziert wird der 403 Forbidden HTTP Status Code durch Abschnitt 6.5.3 von RFC7231

Wie kann man mit PHP einen 403-Statuscode werfen?

Um auf einer Webseite den HTTP Status Code 403 zu werfen, kann die PHP Funktion http_response_code benutzt werden. Die Syntax sieht wie folgt aus: http_response_code(403) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste den 403 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 403 Forbidden) und weitere Informationen clientseitig anzeigen zu können, muss die Entwicklungskonsole mit F12 geöffnet werden. Im Anschluss muss zu der Karteikarte "Netzwerk" navigiert werden. Jetzt kann die Seite geöffnet werden, im Netzwerktab sollte die Webseite (Beispiel index.php) zu sehen sein. Diese muss ausgewählt werden und im Anschluss der Bereich Herder gewählt werden. Hier sieht der Nutzer dann folgendes Ergebnis:

Statuscode 403 Forbidden
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=403
Status: 403 Forbidden
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 403 Forbidden

Wie löse ich das Problem mit dem 403 Statuscode?

Der HTTP-Statuscode 403 Forbidden zeigt an, dass der Server die Anfrage verstanden hat, sie aber aus irgendeinem Grund verweigert. Es bedeutet, dass du nicht die erforderlichen Berechtigungen hast, um auf die angeforderte Ressource zuzugreifen.

Um das Problem mit dem HTTP-Statuscode 403 Forbidden zu lösen, kannst du die folgenden Schritte durchführen:

  • Überprüfe die URL: Stelle sicher, dass die eingegebene URL korrekt ist und auf die richtige Ressource oder Datei zeigt. Prüfe auch auf Tippfehler oder zusätzliche Zeichen in der URL.
  • Lösche den Cache und die Cookies: Manchmal kann ein fehlerhafter Cache oder ein Konflikt mit Cookies zu einem 403 Forbidden-Fehler führen. Lösche den Cache und die Cookies deines Browsers, um sicherzustellen, dass du die aktuellste Version der Webseite erhältst.
  • Überprüfe die Berechtigungen: Stelle sicher, dass du die erforderlichen Berechtigungen hast, um auf die angeforderte Ressource zuzugreifen. Dies ist besonders wichtig, wenn es sich um eine geschützte Ressource handelt, die nur für bestimmte Benutzer oder Benutzergruppen zugänglich ist. Überprüfe deine Anmeldeinformationen und kontaktiere den Administrator, falls erforderlich.
  • Prüfe die Serverkonfiguration: Der 403 Forbidden-Statuscode kann auch auftreten, wenn der Server so konfiguriert ist, dass er den Zugriff auf bestimmte Dateien oder Verzeichnisse verweigert. Überprüfe die Serverkonfiguration, um sicherzustellen, dass die erforderlichen Dateien und Verzeichnisse zugänglich sind.
  • Überprüfe die Firewall und Sicherheitssoftware: Manchmal blockiert eine Firewall oder Sicherheitssoftware den Zugriff auf bestimmte Websites oder Ressourcen. Stelle sicher, dass deine Firewall oder Sicherheitssoftware so konfiguriert ist, dass der Zugriff auf die entsprechende Webseite erlaubt ist.
  • Kontaktiere den Website-Betreiber oder Administrator: Wenn die oben genannten Schritte nicht funktionieren oder du keinen Zugriff auf die erforderlichen Berechtigungen hast, um das Problem zu beheben, ist es am besten, den Website-Betreiber oder Administrator zu kontaktieren. Erkläre das Problem und gib so viele Informationen wie möglich an, um bei der Fehlerbehebung zu helfen.

Es ist wichtig zu beachten, dass die Lösung des 403 Forbidden-Statuscodes von der spezifischen Situation abhängt und dass einige der genannten Schritte möglicherweise nicht auf dein bestimmtes Szenario zutreffen. Es kann auch sein, dass das Problem auf der Serverseite liegt und du als Endbenutzer nur begrenzte Möglichkeiten hast, es zu beheben. In solchen Fällen ist es am besten, den Website-Betreiber oder Administrator zu kontaktieren, um weitere Unterstützung zu erhalten.

Wie erstellt man eine eigene Fehlerseite für den Statuscode 403

Eine eigene 403 Forbidden Fehlerseite zu erstellen ist sowohl mit dem Webserver "Apache" als auch mit dem Webserver "NGINX", relativ leicht.

Apache Webserver

Der Webserver "Apache" gilt zu den meist verbreitetsten Webservern im Internet. Um einen eigene 403 Forbidden Fehlerseite in"Apache" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

File: .htaccess
ErrorDocument 403 /errors/403.html

NGINX Webserver

Ähnlich wie der Webserver "Apache" ist auch "NGINX" im Internet weit verbreitet. Um einen eigene 403 Forbidden Fehlerseite in "NGINX" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

File: sites-enabled/default
error_page 403 /403.html;
location = /403.html {
    root /usr/share/nginx/html;
    internal;
}

Browser-Kompatibilität des 403 Statuscode

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

Was für SEO Auswirkungen hat der 403 Statuscode?

Der HTTP-Statuscode 403 Forbidden gibt an, dass der Zugriff auf eine bestimmte Ressource auf einem Webserver verweigert wurde. Dies kann aus unterschiedlichen Gründen geschehen, z.B. wegen fehlender Berechtigungen. Der Statuscode hat nicht nur direkte Auswirkungen auf die Benutzererfahrung, sondern auch relevante Folgen im Hinblick auf die Suchmaschinenoptimierung (SEO).

Zugänglichkeit und Crawling bei dem HTTP Statuscode 403 Forbidden

Ein grundlegendes Ziel der SEO ist es, sicherzustellen, dass Webseiten-Inhalte von Suchmaschinenbots problemlos gecrawlt und indiziert werden können. Wenn einem Bot der Zugriff auf eine Ressource durch einen 403 Forbidden-Statuscode verweigert wird, wird diese Seite nicht in den Suchindex aufgenommen. Langfristig kann dies dazu führen, dass Inhalte, die für Suchanfragen relevant sein könnten, in den Suchergebnissen nicht erscheinen, was direkte Auswirkungen auf den organischen Traffic der Website hat.

Benutzererfahrung und Vertrauen

Abgesehen vom technischen Aspekt der Zugänglichkeit spielt die Benutzererfahrung eine entscheidende Rolle in der SEO. Eine Seite, die häufig den 403 Forbidden-Statuscode ausgibt, kann zu Frustration bei den Benutzern führen. Wenn Seiten, die in den Suchergebnissen angezeigt werden, nicht zugänglich sind, können Nutzer das Vertrauen in die Website verlieren und möglicherweise zu einer Konkurrenzseite wechseln. Suchmaschinen könnten dies ebenfalls erkennen und die Glaubwürdigkeit der Website in ihren Rankings herabsetzen.

Potential für Duplicate Content bei dem Statuscode 403 Forbidden

In einigen Fällen kann ein 403 Forbidden-Statuscode dazu führen, dass Inhalte auf unterschiedlichen URLs dupliziert werden, insbesondere wenn Webmaster versuchen, den verbotenen Inhalt durch Umleitungen oder Kopien an anderer Stelle zugänglich zu machen. Duplicate Content kann problematisch sein, da Suchmaschinen Schwierigkeiten haben können, die relevante Version der Seite zu bestimmen. Dies kann dazu führen, dass die falsche Version der Seite in den Suchergebnissen angezeigt wird oder das Ranking insgesamt abnimmt.

Fazit zu den SEO Auswirkungen des Statuscode 403 Forbidden

Ein HTTP-Statuscode 403 Forbidden Forbidden ist aus SEO-Sicht kritisch zu betrachten. Er behindert nicht nur das Crawling und die Indizierung durch Suchmaschinenbots, sondern kann auch das Benutzererlebnis beeinträchtigen und das Risiko von Duplicate Content erhöhen. Es ist daher wichtig, regelmäßige Überprüfungen durchzuführen, um solche Probleme zu identifizieren und zu beheben, um die SEO-Performance einer Website zu optimieren.

Konstanten in Programmiersprachen

HttpStatusCode.Forbidden
http.StatusForbidden
Response::HTTP_FORBIDDEN
httplib.FORBIDDEN
http.client.FORBIDDEN
http.HTTPStatus.FORBIDDEN
:forbidden

Beispiel für "Client request" und "Server response" bei dem HTTP Statuscode 403

Client request:

GET /securedpage.php HTTP/1.1
Host: www.example.org

Server response:

HTTP/1.1 403 Forbidden
Content-Type: text/html

<html>
<head><title>403 Forbidden</title></head>
<body>
<h1>Forbidden</h1>
<p>You don't have permission to access /securedpage.php on this server.</p>
</body>
</html>

Unterstatuscodes des 403 Statuscode

Unterstatuscodes sind rein technisch, und sollten niemals dem Nutzer gesendet werden. Wenn beispielsweise der Statuscode 403.1 geworfen wird, kann dieser zwar geloggt werden, aber der Statuscode 403 wird dem User gesendet.:
403.1 Execute access forbidden
HTTP IIS, Inoffiziell
403.2 Read access forbidden
HTTP IIS, Inoffiziell
403.3 Write access forbidden
HTTP IIS, Inoffiziell
403.4 SSL required
HTTP IIS, Inoffiziell
403.5 SSL 128 required
HTTP IIS, Inoffiziell
403.6 IP address rejected
HTTP IIS, Inoffiziell
403.7 Client certificate required
HTTP IIS, Inoffiziell
403.8 Site access denied
HTTP IIS, Inoffiziell
403.9 too many clients are trying to connect to the web server
HTTP IIS, Inoffiziell
403.10 web server is configured to deny Execute access
HTTP IIS, Inoffiziell
403.11 Password has been changed
HTTP IIS, Inoffiziell
403.12 Mapper denied access
HTTP IIS, Inoffiziell
403.13 Client certificate revoked
HTTP IIS, Inoffiziell
403.14 Directory listing denied
HTTP IIS, Inoffiziell
403.15 Client access licenses have exceeded limits on the web server
HTTP IIS, Inoffiziell
403.16 Client certificate is untrusted or invalid
HTTP IIS, Inoffiziell
403.17 Client certificate has expired or is not yet valid.
HTTP IIS, Inoffiziell
403.18 Cannot execute requested URL in the current application pool
HTTP IIS, Inoffiziell
403.19 Cannot execute CGI applications for the client browser in this application pool
HTTP IIS, Inoffiziell
403.20 Passport logon failed
HTTP IIS, Inoffiziell
403.21 Source access denied
HTTP IIS, Inoffiziell
403.22 Infinite depth is denied
HTTP IIS, Inoffiziell
403.501 Too many requests from the same client IP; Dynamic IP Restriction Concurrent request rate limit reached
HTTP IIS, Inoffiziell
403.502 Too many requests from the same client IP; Dynamic IP Restriction Maximum request rate limit reached
HTTP IIS, Inoffiziell
403.503 the IP address is included in the Deny list of IP Restriction
HTTP IIS, Inoffiziell
403.504 the host name is included in the Deny list of IP Restriction
HTTP IIS, Inoffiziell

Blog Artikel

Der Unterschied zwischen HTTP-Statuscode 402 und 403

Wenn wir uns mit dem World Wide Web und der Kommunikation zwischen Servern und Clients beschäftigen, stoßen wir auf verschiedene Statuscodes, die den Zustand einer HTTP-Anfrage beschreiben. Zwei di...

SEO und HTTP-Statuscodes: Eine umfassende Analyse

Die Optimierung einer Website für Suchmaschinen (SEO) ist ein komplexes Unterfangen. Einer der oft übersehenen, aber entscheidenden Aspekte für ein gutes Ranking sind HTTP-Statuscodes. Diese kleine...

Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser ist ein begeisterter Webentwickler mit einer Vorliebe für HTTP Statuscodes.

LinkedInGitHub