401

Unauthorized

Offiziell Unterstatus-Codes
Die Anfrage war Unauthorisiert

Spezifikation von dem HTTP statuscode 401

Der Statuscode 401 Unauthorized zeigt an, dass die Anfrage nicht bearbeitet wurde, weil keine gültigen Authentifizierungsdaten für die Zielressource vorliegen. Der Server, der eine 401 Unauthorized-Antwort erzeugt, MUSS ein WWW-Authenticate-Header-Feld senden, das mindestens eine für die Zielressource geltende Challenge enthält. Wenn die Anfrage Authentifizierungsdaten enthielt, dann zeigt die 401 Unauthorized-Antwort an, dass die Autorisierung für diese Daten verweigert wurde. Der User-Agent KANN die Anfrage mit einem neuen oder ersetzten Authorization-Header-Feld wiederholen. Wenn die 401 Unauthorized-Antwort dieselbe Herausforderung wie die vorherige Antwort enthält und der Benutzer-Agent bereits mindestens einen Authentifizierungsversuch unternommen hat, SOLLTE der Benutzer-Agent dem Benutzer die beigefügte Darstellung vorlegen, da sie normalerweise relevante Diagnoseinformationen enthält.

Quelle / Zitat von: Spezifiziert wird der 401 Unauthorized HTTP Status Code durch Abschnitt 3.1 von RFC7235

Wie kann man mit PHP einen 401-Statuscode werfen?

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

Teste den 401 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 401 Unauthorized) 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 401 Unauthorized
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=401
Status: 401 Unauthorized
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 401 Unauthorized

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

Eine eigene 401 Unauthorized 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 401 Unauthorized Fehlerseite in"Apache" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

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

NGINX Webserver

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

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

Browser-Kompatibilität des 401 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

Konstanten in Programmiersprachen

HttpStatusCode.Unauthorized
http.StatusUnauthorized
Response::HTTP_UNAUTHORIZED
httplib.UNAUTHORIZED
http.client.UNAUTHORIZED
http.HTTPStatus.UNAUTHORIZED
:unauthorized

Unterstatuscodes des 401 Statuscode

Unterstatuscodes sind rein technisch, und sollten niemals dem Nutzer gesendet werden. Wenn beispielsweise der Statuscode 401.1 geworfen wird, kann dieser zwar geloggt werden, aber der Statuscode 401 wird dem User gesendet.:
401.1 Logon failed
HTTP IIS, Inoffiziell
401.2 Logon failed due to server configuration
HTTP IIS, Inoffiziell
401.3 Unauthorized due to ACL on resource
HTTP IIS, Inoffiziell
401.4 Authorization failed by filter
HTTP IIS, Inoffiziell
401.5 Authorization failed by ISAPI/CGI application
HTTP IIS, Inoffiziell
401.501 Access Denied: Too many requests from the same client IP; Dynamic IP Restriction Concurrent request rate limit reached.
HTTP IIS, Inoffiziell
401.502 Forbidden: Too many requests from the same client IP; Dynamic IP Restriction Maximum request rate limit reached.
HTTP IIS, Inoffiziell
401.503 Access Denied: the IP address is included in the Deny list of IP Restriction
HTTP IIS, Inoffiziell
401.504 Access Denied: the host name is included in the Deny list of IP Restriction
HTTP IIS, Inoffiziell

Blog Artikel

Schutz vor Angriffen durch die xmlrpc.php Datei in WordPress

Abschnitt 1: Was ist die xmlrpc.php Datei und wo kommt sie vor?Die xmlrpc.php-Datei ist eine wichtige Komponente in WordPress, einem der weltweit führenden Content-Management-Systeme (CMS) für die ...

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

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

LinkedInGitHub