Was ist die HTTP-Basisauthentifizierung (& wie man sie mit WordPress verwendet)

Wenn Sie die HTTP-Basisauthentifizierung verwenden möchten, um den Zugriff auf Ihre gesamte WordPress-Website oder nur auf Teile davon zu beschränken, ist dieser Leitfaden genau das Richtige für Sie.

Angenommen, Sie haben eine kleine WordPress-Website und möchten den Zugriff auf bestimmte Seiten oder Verzeichnisse beschränken. Oder Sie betreiben eine einfache Mitglieder-Website mit wenigen Benutzern und möchten den Zugriff auf Inhalte nur für Mitglieder kontrollieren. 

Die Implementierung fortgeschrittener Authentifizierungsmethoden wie OAuth zur Zugriffsbeschränkung wäre übertrieben. Die HTTP-Basisauthentifizierung ist einfach genug, um Ihre Anforderungen an die Zugriffskontrolle zu erfüllen.

In diesem Leitfaden erklären wir Ihnen die HTTP-Basisauthentifizierung und wie Sie sie auf Ihrer WordPress-Website verwenden.

Beginnen wir zunächst damit, zu verstehen, was HTTP-Basisauthentifizierung ist.

Was ist HTTP-Basisauthentifizierung?

Wenn Sie Ihre Website oder deren Inhalte schützen, möchten Sie sicherstellen, dass nur autorisierte Benutzer darauf zugreifen können. Dazu müssen Sie die Identität der Benutzer überprüfen, bevor Sie ihnen den Zugriff auf die geschützten Inhalte gestatten.

HTTP, das Protokoll, das regelt, wie Computer im Web Informationen austauschen, bietet mehrere Authentifizierungsschemata, mit denen Sie den Zugriff auf geschützte Inhalte beschränken können.

Die HTTP-Basisauthentifizierung (oder einfach Basisauthentifizierung) ist ein solches Schema. Sie ist die einfachste Methode, um die Zugriffskontrolle für Ihre Website oder deren Inhalte durchzusetzen.

Sie funktioniert im Allgemeinen folgendermaßen:

  • Ein Benutzer klickt, um eine geschützte Website oder Webseite anzuzeigen. 
  • Der Server fordert ihn daraufhin auf, Anmeldedaten einzugeben.
  • Der Benutzer stellt diese Informationen bereit, und der Server überprüft sie. 
  • Wenn die Anmeldedaten des Benutzers mit den auf dem Server hinterlegten Daten übereinstimmen, gestattet der Server den Zugriff auf die Website/Webseite.

Dies ist eine stark vereinfachte Darstellung der Funktionsweise der Basisauthentifizierung. Um sie effektiv zu implementieren, benötigen wir ein umfassenderes Verständnis. Um dies besser zu verstehen, sehen wir uns zunächst an, wie HTTP-Anfragen funktionieren.

Wie HTTP-Anfragen funktionieren

HTTP legt die Regeln für die Kommunikation zwischen Webbrowsern (in der Regel Clients genannt) und Servern fest. Mit anderen Worten: Es bestimmt, wie Server Informationen mit dem Webbrowser teilen, den eine Person für den Zugriff auf eine Webseite verwendet. 

Wenn ein Benutzer auf eine Webseite klickt, um sie anzuzeigen, erstellt der Webbrowser eine HTTP-Anfrage und fordert den Server auf, Informationen zur Darstellung der betreffenden Webseite bereitzustellen. Der Server sucht in der Datenbank nach den Dateien dieser Seite. Wenn er sie findet, sendet er eine HTTP-Antwort mit dem HTML-Code zur Darstellung dieser Webseite an den Webbrowser zurück. Der Benutzer sieht die angezeigte Webseite.

Wenn er die Datei nicht findet oder die Webseite nicht bereitstellen kann, antwortet er mit einem Fehlerstatuscode. Dabei handelt es sich üblicherweise um den Fehler „404 Not Found“, auf den Sie wahrscheinlich schon einmal gestoßen sind. 

Die HTTP-Anfrage/-Antwort besteht aus drei Abschnitten:

  • Startzeile. 
  • HTTP-Header.
  • Body. 

Von diesen drei Abschnitten ist die HTTP-Authentifizierung vollständig auf die HTTP-Header beschränkt. Im nächsten Abschnitt erklären wir anhand der HTTP-Header, wie die Basisauthentifizierung funktioniert. Sehen wir uns an, wie eine HTTP-Anfrage/-Antwort abläuft, wenn Sie die Basisauthentifizierung implementieren. 

Wie die Basisauthentifizierung mit HTTP-Anfragen und -Antworten funktioniert

Nun wissen wir, wie HTTP-Anfragen und -Antworten funktionieren. Dadurch sollte es leichter sein, die Funktionsweise der Basisauthentifizierung zu verstehen. Nehmen wir an, Sie haben den Zugriff auf Ihre Website mithilfe der Basisauthentifizierung beschränkt. Der gesamte Authentifizierungs- und Autorisierungsprozess läuft dann folgendermaßen ab.

Der Browser des Benutzers erstellt wie üblich eine HTTP-Anfrage, wenn der Benutzer auf eine geschützte Webseite klickt. Sobald der Webserver die Anfrage empfängt, sucht er nach einem Authorization-Header. Dabei handelt es sich um einen HTTP-Header, der die Anmeldedaten des Benutzers (Benutzername und Passwort) enthält, die für den Zugriff auf die Webseite erforderlich sind. 

Wenn er keinen Authorization-Header findet, sendet er eine spezielle HTTP-Antwort, die den Browser anweist, ein Dialogfeld anzuzeigen, in dem der Benutzer aufgefordert wird, einen Namen und ein Passwort einzugeben. Diese Antwort hat den Statuscode „401 Unauthorized“ und enthält einen speziellen Header namens www-authenticate-Header. 

Hinweis: Dieser Header enthält einen weiteren Parameter namens realm, der zum Zwischenspeichern der Anmeldedaten des Benutzers verwendet werden kann. Wenn eine andere Seite mit demselben Parameter die Authentifizierung nicht besteht, kann der Browser die zwischengespeicherten Anmeldedaten verwenden, damit der Benutzer auf diese Seite zugreifen kann, ohne die Anmeldedaten erneut einzugeben.

Kodierung im Browser

Wenn der Browser die Antwort mit dem www-authenticate-Header empfängt, zeigt er ein Anmeldedialogfeld an. Der Benutzer gibt diese Daten ein und klickt auf „Anmelden“.

Bevor diese Eingabe an den Webserver übermittelt wird, wird sie zweimal codiert:

  • In ASCII. Dabei werden der Benutzername und das Passwort in ein Format umgewandelt, das Computer einfach verstehen und verarbeiten können. Jeder Zahl und jedem Buchstaben wird ein entsprechendes ASCII-Zeichen zugewiesen.
  • In Base64. Eine Methode, um den Benutzernamen und das Passwort in eine Zeichenfolge aus Symbolen, Buchstaben und Zahlen umzuwandeln, sodass die Informationen verschleiert erscheinen. Die Base64-Codierung verschleiert diese Informationen und erschwert es dadurch, sie auf den ersten Blick zu verstehen. 

Basic Auth verpackt diese Informationen in den Authorization-Header der HTTP-Anfrage, die es an den Server zurücksendet. Es ist wichtig zu beachten, dass wir diesen zwar als „Authorization-Header“ bezeichnen, zu diesem Zeitpunkt jedoch weiterhin den Benutzer authentifizieren.

Decodierung auf dem Server

Beim Empfang der neuen HTTP-Anfrage prüft der Server, ob ein gültiger Authorization-Header vorhanden ist. Anschließend decodiert er die codierte Zeichenfolge, um die Anmeldedaten abzurufen, und überprüft diese. Sind die Daten gültig, antwortet der Server, indem er dem Benutzer die Berechtigung zum Zugriff auf diese Seite erteilt. Dies ist ein Überblick darüber, wie der gesamte Prozess funktioniert. Für weitere Details solltest du die RFC-7617-Spezifikationsdokumentation lesen. 

Nachdem wir uns Basic Auth und seine Funktionsweise angesehen haben, sehen wir uns nun die wichtigsten Funktionen an.

Wichtige Funktionen der Basic Authentication

Als Authentifizierungsschema bietet Basic Auth die folgenden wichtigen Funktionen.

  • Einfache Einrichtung. Es ist das am einfachsten einzurichtende Authentifizierungsschema, da es keine Cookies, Sitzungskennungen oder Anmeldeseiten erfordert. 
  • Kompatibilität. Alle gängigen Webbrowser (einschließlich Chrome, Safari, Mozilla Firefox usw.) unterstützen diesen Authentifizierungsmechanismus. Benutzer benötigen dafür keine zusätzliche Software oder Erweiterungen. Außerdem kann er auf jedem Server konfiguriert werden, unabhängig davon, ob du Apache oder Nginx verwendest.
  • Benutzerfreundlichkeit. Benutzer sind mit der Eingabe ihres Benutzernamens und Passworts in ein Anmeldedialogfeld vertraut. Dadurch können sie sich problemlos authentifizieren.
  • Basic Auth ist zustandslos. Jede HTTP-Anfrage muss die Anmeldedaten enthalten. 

Es ist wichtig zu beachten, dass die Codierung in Base64 keine Verschlüsselung ist. Das bedeutet, dass die Anmeldedaten des Benutzers im Klartext vom Browser an den Server übertragen werden. Sie können von einem Hacker leicht abgefangen und decodiert werden. 

Verwende Basic Auth daher immer über HTTPS und TLS (früher SSL). Dadurch wird die gesamte Kommunikation zwischen Browser und Server verschlüsselt, wodurch das Risiko verringert wird, dass jemand den Benutzernamen und das Passwort abfängt und decodiert.

Hinweis: Obwohl wir bei Basic Auth Benutzernamen und Passwörter verwenden, sollte dies nicht mit der normalen Authentifizierung über Benutzername und Passwort verwechselt werden. Basic Auth verwendet Standardfelder im HTTP-Header und keine Anmeldeseiten.

Nachdem das geklärt ist, sehen wir uns an, warum du Basic Auth auf deiner Website verwenden möchtest.

Warum du Basic Authentication auf deiner Website verwenden möchtest

Bei der Einführung in diesen Leitfaden haben wir einige Anwendungsfälle, in denen Basic Auth besonders nützlich ist, nur kurz angesprochen. In diesem Abschnitt gehen wir ausführlich auf diese und weitere Anwendungsfälle ein. 

Aufgrund seiner Einfachheit kann Basic Auth in mehreren Szenarien auf deiner WordPress-Website nützlich sein.

Kleine WordPress-Projekte absichern

Die HTTP-Basic-Authentication ist eine minimalistische Sicherheitsmaßnahme für kleine WordPress-Websites. In diesem Fall wären fortgeschrittene Authentifizierungsmethoden wie NTLM oder Digest Authentication möglicherweise übertrieben. Daher ist Basic Auth die richtige Wahl, da sie ein gewisses Maß an Sicherheit bietet, ohne eine umfangreiche Einrichtung zu erfordern.

Zugriff auf Inhalte nur für Mitglieder beschränken

Wenn du eine kleine Mitglieder-Website, einen internen oder privaten Blog oder eine Dokumentation betreibst, kann Basic Auth dir helfen, den Zugriff auf bestimmte Seiten, Beiträge oder Bereiche zu beschränken. Sie fügt eine Authentifizierungsebene hinzu, die sicherstellt, dass nur autorisierte Personen Zugriff erhalten.

Zugriff während der frühen Website-Entwicklung oder im Staging beschränken

Bei der Arbeit in einer Entwicklungs- oder Staging-Umgebung ist es wichtig, deine Website privat und vom öffentlichen Zugriff abgeschirmt zu halten. Basic Auth ist eine schnelle und einfache Möglichkeit, den Zugriff auf deine Website während der Entwicklung zu beschränken. So kannst du den Zugriff ausschließlich dem Entwicklungsteam, Testern und Stakeholdern gewähren.

Deine Website für bestimmte Vorgänge vorübergehend absichern

Bei bestimmten Vorgängen wie dem Wechsel zu einem neuen Hosting-Anbieter, größeren Updates oder der Behebung von Sicherheitsvorfällen kannst du die Basic Authentication aktivieren, um die Website von der Öffentlichkeit fernzuhalten.

Insgesamt eignet sich Basic Auth für kleinere Projekte. Sie lässt sich einfach implementieren und reicht aus, um die Anforderungen an die Zugriffskontrolle bei diesen Projekttypen zu erfüllen. Nachdem wir uns die Funktionen und die potenziellen Anwender dieser Authentifizierungsmethode angesehen haben, gehen wir nun darauf ein, warum sie wichtig ist.

Warum die Basisauthentifizierung wichtig ist

Inzwischen wissen Sie ziemlich genau, warum die Basisauthentifizierung wichtig ist. Um dies noch einmal zu verdeutlichen, erfahren Sie hier, warum Sie diese Authentifizierungsmethode implementieren sollten. 

Sie ermöglicht Ihnen die Kontrolle über öffentliche Inhalte auf Ihrer Website

Das primäre Ziel der Basisauthentifizierung besteht darin, den Zugriff auf Ihre gesamte Website oder deren Inhalte zu beschränken. Mit der Basisauthentifizierung können Sie steuern, welche Bereiche Ihrer Website öffentlich zugänglich sind.

Nehmen wir an, Sie haben sensible Inhalte wie Benutzerdaten. Sie möchten nicht, dass die Öffentlichkeit auf diese Informationen zugreift. Mit der Basisauthentifizierung können Sie diese Bereiche schützen und verlangen, dass sich Benutzer authentifizieren, bevor sie darauf zugreifen können.

static wordpress simply static

Sie hilft Ihnen, SEO-Fallen bei einer statischen Website zu vermeiden

Die Basisauthentifizierung eignet sich nicht nur zur Zugriffskontrolle, sondern bietet auch mehrere SEO-Vorteile, insbesondere wenn Sie eine statische Website haben.

Dazu gehören:

  • Die Indexierung sensibler Inhalte verhindern. Durch die Implementierung der Basisauthentifizierung auf den Webseiten mit sensiblen Inhalten können Sie verhindern, dass diese in den Suchmaschinenergebnissen erscheinen. Wenn vor dem Zugriff eine Authentifizierung erforderlich ist, können Suchmaschinen geschützte Seiten nicht crawlen und indexieren. Und wenn sie sie nicht indexieren können, können sie sie auch nicht ranken.
  • Ihrer statischen Website ermöglichen, doppelte Inhalte in den Suchergebnissen zu vermeiden. Beim Aktualisieren Ihrer Website oder in Staging-Umgebungen haben Sie häufig mehrere Versionen Ihrer Webseiten. Sie möchten nicht, dass alle Versionen indexiert werden, da dies zu doppelten Inhalten in den Suchergebnissen führen würde. Idealerweise halten Sie die Version, die sich in Entwicklung befindet, von der SEO-Indexierung fern. Die Basisauthentifizierung verhindert, dass Suchmaschinen auf die Versionen in Entwicklung zugreifen. So können Sie doppelte Inhalte vermeiden, die der SEO Ihrer Website schaden könnten.

Wenn sich Teile Ihrer Website in Entwicklung befinden, kann deren minderwertiger Inhalt das SEO-Ranking Ihrer Website negativ beeinflussen. Die Basisauthentifizierung verhindert, dass Suchmaschinen auf diese Bereiche zugreifen, und hilft Ihnen so, mögliche SEO-Abstrafungen zu vermeiden.

Nachdem wir nun alles wissen, was wir über die HTTP-Basisauthentifizierung, ihre Funktionsweise, ihre Funktionen und ihre Bedeutung wissen müssen, sehen wir uns an, wie Sie sie auf Ihrer Website einrichten. 

So richten Sie die HTTP-Basisauthentifizierung auf Ihrer Website ein

In diesem Abschnitt zeigen wir Ihnen, wie Sie Ihrer Website eine Basisauthentifizierung hinzufügen. Zunächst zeigen wir Ihnen, wie Sie dies mithilfe eines Plugins automatisch auf Ihrer statischen WordPress-Website erledigen. Anschließend sehen wir uns an, wie dies manuell funktioniert. 

simply static

So richten Sie die HTTP-Basisauthentifizierung für Ihre statische WordPress-Website ein

Wenn Sie eine statische Website erstellen oder bereits eine solche haben, ist das Einrichten der HTTP-Basisauthentifizierung mit dem WordPress-Plugin Simply Static ganz einfach.

Was ist Simply Static?

Simply Static ist ein Generator für statische Websites für WordPress. 

Damit können Sie ganz einfach statische HTML-Kopien Ihrer gesamten WordPress-Website erstellen, einschließlich CSS- und JavaScript-Dateien. Dazu gehören Ihr Theme, Beiträge und dynamische Inhalte wie Formulare, Suchfunktionen und Kommentare. 

generate static site

Mit Simply Static können Sie Ihre Website mit WordPress erstellen und sie mit nur wenigen Klicks statisch machen. So erhalten Sie das Beste aus beiden Welten: eine einfache Möglichkeit, Ihre Website mit dem Content-Management-System WordPress zu erstellen und zu aktualisieren, kombiniert mit der Geschwindigkeit, Sicherheit und Erweiterbarkeit einer statischen Website.

So aktivieren Sie die HTTP-Basisauthentifizierung mit Simply Static

Das Hinzufügen einer Basisauthentifizierung zu Ihrer WordPress-Website ist mit Simply Static sehr unkompliziert. Nachdem Sie das WordPress-Plugin installiert und eingerichtet haben, führen Sie die folgenden Schritte aus:

  1. Gehen Sie in Ihrem WordPress-Dashboard zu Simply Static > Settings.
  2. Klicken Sie anschließend unter Advanced auf den Link Misc.
  3. Hier finden Sie die Einstellungen für Basic Auth. Geben Sie hier Ihren Benutzernamen und Ihr Passwort ein und klicken Sie auf den Umschalter Enable Basic Authentication, um die Funktion zu aktivieren.
http basic authentication
  1. Klicken Sie unbedingt auf die Schaltfläche Save Settings. Anschließend ist die Basisauthentifizierung auf Ihrer statischen Website aktiviert.

So richten Sie die HTTP-Basisauthentifizierung manuell ein

Angenommen, Sie haben keine statische Website oder die Pro-Version von Simply Static. In diesem Fall können Sie die Basisauthentifizierung über Apache und NGINX einrichten.

Dies ist eine aufwendigere und technisch anspruchsvollere Einrichtung. Daher benötigen Sie einige Kenntnisse im Umgang mit Webservern, um sie umzusetzen.

Die Schritte zur Einrichtung finden Sie in unserem Leitfaden zur Einrichtung der Basisauthentifizierung.

Machen Sie sich noch heute mit der Basisauthentifizierung vertraut

Die HTTP-Basisauthentifizierung ist die einfachste Möglichkeit, den Zugriff auf Ihre gesamte Website oder Teile davon zu beschränken. Als Websitebetreiber können Sie sie einfach implementieren, und für Benutzer ist sie noch unkomplizierter, da sie die vertraute Authentifizierungsmethode mit Benutzername und Passwort verwendet.

In diesem Leitfaden haben wir verschiedene Möglichkeiten zur Implementierung der Basisauthentifizierung betrachtet, darunter die Verwendung von Simply Static. Dieses Plugin bietet alles, was Sie benötigen, um die Basisauthentifizierung auf Ihrer statischen WordPress-Website problemlos zu implementieren.

Verwenden Sie Simply Static, um die Basisauthentifizierung auf Ihrer WordPress-Website einzurichten und den Zugriff nicht autorisierter Benutzer und Suchmaschinen auf die privaten Bereiche Ihrer Website zu kontrollieren.