Apache/HTTP/Authentifizierung: Unterschied zwischen den Versionen

Aus Foxwiki
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:
Passwortschutz für Webseiten
'''Apache Webserver Authentifizierung'''


kann sinnvoll sein, wenn eine Webseite oder ein Verzeichnis nur für bestimmte Benutzer verfügbar sein soll. Auch kann man die Webseite so vor Suchmaschinen-Bots verbergen.
== 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:''' 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.
'''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.


'''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.


== Der Passwortschutz ist nun aktiv ==
== Anwendung ==
 
Der Webspace für die Webseite "meinetestwebseite.de" hat einen Ordner "ablage" der mit einem Passwortschutz versehen werden soll.  
Haben Sie alles richtig gemacht öffnet sich beim Aufrufen der Webseite bzw. des Verzeichnisses im Browser eine Abfrage für einen Benutzernamen und ein Passwort.
 
Um den Schutz wieder zu deaktivieren, löscht man einfach die .htpasswd Datei und die Codezeilen dafür aus der .htaccess Datei.
 
== Beispiel ==
 
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:


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 ein Passwortschutz.
Versucht man nun "www.webseite.de/ablage" aufzurufen erscheint eine Abfrage des Benutzernamen und eines Passworts.
 
= Passwortschutz für bestimmten IP-Adressen deaktivieren =


=== 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>-Abschnittin 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.