phpbar.de logo

Mailinglisten-Archive

[php] Login mit PHP und Apache

[php] Login mit PHP und Apache

Markus Keller OrcaSoft info_(at)_gurtenfestival.ch
Sun, 23 Jan 2000 10:32:09 +0100


Hallo Dirk

>ich habe zwar schon ein paar Codebeispiele zu Autentifizierung, etc.
>gesehen, aber kann mir mal jemand erklären, wie das ganze funktioniert?
>
>Ich möhte nicht, dass der User automatisch angemeldet wird, sondern dass er
>sich einloggen muss.

Du kannst das ganze ohne PHP auf Apache-Seite lösen.

Foldende Einstellung ist gültig für <Directory> bzw. .htaccess falls Du
keinen Zugriff auf httpd.conf hast.

AuthType Basic
AuthName "my secret web"
AuthUserFile /access/webusers
require user user1 user2

AuthType bestimmt in welcher Form die Daten übertragen werden. Basic heisst,
die Daten gehen unverschlüsselt übers Netz. Alternativ gibt es Digest, das
ist aber HTTP/1.1 und wird noch nicht von allen Browsern unterstützt.

>Aber wie weiss ich dann später, dass er sich eingeloggt
>hat? Wie passiert die Verbindung zwischen der Anforderung einer Seite und
>diesem bestimmten User?

AuthName ist der Realm, der einen Zugriff identifiziert. Nur wenn Realm,
User und Passwort stimmen, wird der Zugriff gewährt. Greift der User zum
ersten Mal auf eine Seite zu, schickt der Server einen Code 401 und den
Realm. Der Browser zeigt ein PopUp zur Eingabe von Username (ID) und
Passwort an. Stimmen ID und Passwort, werden die Seiten angezeigt. Bei jedem
weiteren Zugriff auf die Seiten schickt der Browser ID, Passwort und Realm
automatisch mit. Es wird also bei jedem weiteren Zugriff eine Validierung
durchgeführt. Der User merkt nur nichts davon. Das gilt auch für
Unterverzeichnise des geschützten Bereichs. Wenn Du das ganze im Directory
Tag löst, kannst Du zur Sicherheit noch "AllowOverride All" setzen.

AuthUserFile bestimmt, in welcher Form die User abgelegt sind. Du kannst Die
Angaben auch aus einer MySQL Datenbank hohlen. Apache muss aber mit dieser
Option konfiguriert worden sein. Diese datei sollte sich unbedingt
ausserhalb von DocumentRoot befinden.

Require bestimmt welche User genau Zugriff haben. Hast Du 30 User in der
Datei bzw. Datenbank und möchtest nur den Usern user1 und user2 den Zugriff
erlauben, kannst Du diese Option einsetzen. User3 hat dann keinen Zugriff,
obwohl er in der Datei bzw. Datenbank gespeichert ist.

Mehr Infos findest Du in jeder guten Apache-Dokumentation

Gruss

Markus




php::bar PHP Wiki   -   Listenarchive