Apache/HTTP/Authentifizierung: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „Passwortschutz für Webseiten kann sinnvoll sein, wenn eine Webseite oder ein Verzeichnis nur für bestimmte Benutzer verfügbar sein soll. Auch kann man die…“ |
Keine Bearbeitungszusammenfassung |
||
(32 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Apache Webserver Authentifizierung''' | |||
== Beschreibung == | |||
Passwortschutz für Webseiten oder Verzeichnisse | |||
* nur für bestimmte Benutzer verfügbar | |||
* Webseite vor Suchmaschinen-Bots verbergen | |||
= .htpasswd Datei erstellen = | == .htpasswd Datei erstellen == | ||
Zuallererst braucht man eine .htpasswd Datei. Diese können Sie ganz einfach mit einem Texteditor erstellen. | Zuallererst braucht man eine .htpasswd Datei. Diese können Sie ganz einfach mit einem Texteditor erstellen. | ||
'''Wichtig | '''Wichtig''' | ||
Nicht den Punkt vor dem Dateinamen vergessen! | Nicht den Punkt vor dem Dateinamen vergessen! | ||
Zeile 14: | Zeile 17: | ||
Legen Sie nun die .htpasswd Datei in einem Verzeichnis abseits der darauf verweisenden .htaccess Datei ab (siehe folgend Schritt 2). | Legen Sie nun die .htpasswd Datei in einem Verzeichnis abseits der darauf verweisenden .htaccess Datei ab (siehe folgend Schritt 2). | ||
'''Wichtig | '''Wichtig''' | ||
* Die .htpasswd sichert nicht das Verzeichnis und deren Unterverzeichnisse in der die Datei liegt ab, sondern die Datei dient lediglich als Liste aller möglichen Zugangsdaten. | |||
* Die .htaccess Datei übernimmt die eigentliche Aufgabe, das Verzeichnis und die Unterverzeichnisse mit einem Passwortschutz versehen. | |||
* Es spielt daher nur eine Rolle, wo die .htacces Datei abgelegt wird. | |||
= .htaccess Datei erstellen/anpassen = | == .htaccess Datei erstellen/anpassen == | ||
AuthType Basic | AuthType Basic | ||
AuthName "Passwortgeschützter Bereich" | AuthName "Passwortgeschützter Bereich" | ||
Zeile 22: | Zeile 28: | ||
Require valid-user | Require valid-user | ||
'''Hinweis''' | |||
Die .htpasswd Datei sollte aus Sicherheitsgründen üblicherweise in einem anderen Verzeichnis gespeichert sein als die jeweilige .htaccess Datei, die auf die .htpasswd verweist. | |||
=== Der Passwortschutz ist nun aktiv === | |||
* Beim Aufrufen der Webseite bzw. des Verzeichnisses im Browser wird ein Benutzername und ein Passwort abgefragt. | |||
* Um den Schutz wieder zu deaktivieren, löscht man einfach die .htpasswd Datei und die Codezeilen dafür aus der .htaccess Datei. | |||
== | == Anwendung == | ||
Der Webspace für die Webseite "meinetestwebseite.de" hat einen Ordner "ablage" der mit einem Passwortschutz versehen werden soll. | |||
Der Webspace für die Webseite "meinetestwebseite.de" hat einen Ordner "ablage" der mit einem Passwortschutz versehen werden soll. | |||
Die Ordnerstruktur auf dem Webspace ist wie folgt aufgebaut: | |||
/web--- /ablage--- /css--- /img--- /js--- index.php | /web--- /ablage--- /css--- /img--- /js--- index.php | ||
Um nun den Ordner "ablage" wie oben beschrieben zu schützen muss die Struktur so erweitert werden: | Um nun den Ordner "ablage" wie oben beschrieben zu schützen muss die Struktur so erweitert werden: | ||
/web--- /ablage--- --- .htaccess--- /css--- /img--- /js--- index.php/zugaenge--- .htpasswd | /web--- /ablage--- --- .htaccess--- /css--- /img--- /js--- index.php/zugaenge--- .htpasswd | ||
Versucht man nun "www.webseite.de/ablage" aufzurufen erscheint | Versucht man nun "www.webseite.de/ablage" aufzurufen erscheint eine Abfrage des Benutzernamen und eines Passworts. | ||
=== Passwortschutz für bestimmten IP-Adressen deaktivieren === | |||
Order deny,allow | Order deny,allow | ||
Deny from all | Deny from all | ||
Zeile 54: | Zeile 56: | ||
allow from 111.111.111.111 | allow from 111.111.111.111 | ||
Satisfy Any | Satisfy Any | ||
[[Kategorie:Apache/HTTP/Sicherheit]] | |||
= TMP = | |||
=== Authentifizierung === | |||
Wenn Sie direkt zu diesem Teil des Dokuments gesprungen sind, um herauszufinden, wie Sie die Authentifizierung durchführen, ist es wichtig, eine Sache zu beachten. | |||
* Es ist ein weitverbreiteter Irrglaube, dass Sie <code>.htaccess-Dateien</code> verwenden müssen, um die Passwortauthentifizierung zu implementieren. | |||
* Dies ist jedoch nicht der Fall. | |||
* Authentifizierungsrichtlinien in einem <code><Directory>-Abschnitt</code>in Ihrer Hauptkonfigurationsdatei des Servers zu platzieren, ist der bevorzugte Weg, dies zu implementieren, und <code>.htaccess-Dateien</code> sollten nur verwendet werden, wenn Sie keinen Zugriff auf die Hauptkonfigurationsdatei des Servers haben. | |||
* Siehe oben für eine Diskussion darüber, wann Sie <code>.htaccess-Dateien</code> verwenden sollten und wann nicht. | |||
Wenn Sie dennoch der Meinung sind, dass Sie eine . <code>htaccess-Datei</code> verwenden müssen, könnte eine Konfiguration wie die folgende für Sie geeignet sein. | |||
Inhalt der <code>.htaccess-Datei</code>: | |||
AuthType Basic | |||
AuthName "Password Required" | |||
AuthUserFile "/www/passwords/password.file" | |||
AuthGroupFile "/www/passwords/group.file" | |||
Require group admins | |||
Beachten Sie, dass <code>AllowOverride AuthConfig</code> in Kraft sein muss, damit diese Direktiven eine Wirkung haben. | |||
Eine ausführlichere Erläuterung der Authentifizierung und Autorisierung finden Sie im Tutorial zur Authentifizierung. |
Aktuelle Version vom 2. November 2024, 16:20 Uhr
Apache Webserver Authentifizierung
Beschreibung
Passwortschutz für Webseiten oder Verzeichnisse
- nur für bestimmte Benutzer verfügbar
- Webseite vor Suchmaschinen-Bots verbergen
.htpasswd Datei erstellen
Zuallererst braucht man eine .htpasswd Datei. Diese können Sie ganz einfach mit einem Texteditor erstellen.
Wichtig Nicht den Punkt vor dem Dateinamen vergessen!
In dieser Datei werden alle Benutzer- und Passwortdaten hinterlegt. Diese sind verschlüsselt und können direkt mit unserem .htaccess Generator erstellt werden.
Falls mehrere Benutzer angelegt werden sollen, können Sie die jeweiligen Codezeilen einfach untereinander in die .htpasswd Datei schreiben.
Legen Sie nun die .htpasswd Datei in einem Verzeichnis abseits der darauf verweisenden .htaccess Datei ab (siehe folgend Schritt 2).
Wichtig
- Die .htpasswd sichert nicht das Verzeichnis und deren Unterverzeichnisse in der die Datei liegt ab, sondern die Datei dient lediglich als Liste aller möglichen Zugangsdaten.
- Die .htaccess Datei übernimmt die eigentliche Aufgabe, das Verzeichnis und die Unterverzeichnisse mit einem Passwortschutz versehen.
- Es spielt daher nur eine Rolle, wo die .htacces Datei abgelegt wird.
.htaccess Datei erstellen/anpassen
AuthType Basic AuthName "Passwortgeschützter Bereich" AuthUserFile /pfad/zur/datei/.htpasswd Require valid-user
Hinweis Die .htpasswd Datei sollte aus Sicherheitsgründen üblicherweise in einem anderen Verzeichnis gespeichert sein als die jeweilige .htaccess Datei, die auf die .htpasswd verweist.
Der Passwortschutz ist nun aktiv
- Beim Aufrufen der Webseite bzw. des Verzeichnisses im Browser wird ein Benutzername und ein Passwort abgefragt.
- Um den Schutz wieder zu deaktivieren, löscht man einfach die .htpasswd Datei und die Codezeilen dafür aus der .htaccess Datei.
Anwendung
Der Webspace für die Webseite "meinetestwebseite.de" hat einen Ordner "ablage" der mit einem Passwortschutz versehen werden soll.
Die Ordnerstruktur auf dem Webspace ist wie folgt aufgebaut:
/web--- /ablage--- /css--- /img--- /js--- index.php
Um nun den Ordner "ablage" wie oben beschrieben zu schützen muss die Struktur so erweitert werden:
/web--- /ablage--- --- .htaccess--- /css--- /img--- /js--- index.php/zugaenge--- .htpasswd
Versucht man nun "www.webseite.de/ablage" aufzurufen erscheint eine Abfrage des Benutzernamen und eines Passworts.
Passwortschutz für bestimmten IP-Adressen deaktivieren
Order deny,allow Deny from all AuthName "Passwortgeschützter Bereich" AuthUserFile /pfad/zur/datei/.htpasswd AuthType Basic Require valid-user allow from 000.000.000.000 allow from 111.111.111.111 Satisfy Any
TMP
Authentifizierung
Wenn Sie direkt zu diesem Teil des Dokuments gesprungen sind, um herauszufinden, wie Sie die Authentifizierung durchführen, ist es wichtig, eine Sache zu beachten.
- Es ist ein weitverbreiteter Irrglaube, dass Sie
.htaccess-Dateien
verwenden müssen, um die Passwortauthentifizierung zu implementieren. - Dies ist jedoch nicht der Fall.
- Authentifizierungsrichtlinien in einem
<Directory>-Abschnitt
in Ihrer Hauptkonfigurationsdatei des Servers zu platzieren, ist der bevorzugte Weg, dies zu implementieren, und.htaccess-Dateien
sollten nur verwendet werden, wenn Sie keinen Zugriff auf die Hauptkonfigurationsdatei des Servers haben. - Siehe oben für eine Diskussion darüber, wann Sie
.htaccess-Dateien
verwenden sollten und wann nicht.
Wenn Sie dennoch der Meinung sind, dass Sie eine . htaccess-Datei
verwenden müssen, könnte eine Konfiguration wie die folgende für Sie geeignet sein.
Inhalt der .htaccess-Datei
:
AuthType Basic AuthName "Password Required" AuthUserFile "/www/passwords/password.file" AuthGroupFile "/www/passwords/group.file" Require group admins
Beachten Sie, dass AllowOverride AuthConfig
in Kraft sein muss, damit diese Direktiven eine Wirkung haben.
Eine ausführlichere Erläuterung der Authentifizierung und Autorisierung finden Sie im Tutorial zur Authentifizierung.