Begrenzung der Anzahl eingelogter Benutzer bei Apache
Kristian Halm
- webserver
Hallo allerseits
ich wuerde gerne den Apache so konfigurieren, dass sich ein Benutzer nicht in einem geschuetzen
Webseitenbereich mit einem bestimmten Loginnamen anmelden kann, wenn ein anderer mit demselben
Benutzernamen schon angemeldet ist. Es soll also immer nur ein Benutzer mit einem bestimmten Loginnamen gleichzeitig auf den geschuetzen Webseitenbereich
zugreifen koennen.
In der Apache Dokumentation konnte ich leider nichts entsprechendes finden.
Für einen Tip wär ich riesig dankbar :)
Danke im vorraus
Kristian
hi!
ich wuerde gerne den Apache so konfigurieren, dass sich ein Benutzer nicht in einem geschuetzen
Webseitenbereich mit einem bestimmten Loginnamen anmelden kann, wenn ein anderer mit demselben
Benutzernamen schon angemeldet ist.
Das funktioniert nicht, da auf dem Server nicht gespeichert ist, dass gerade ein Benutzer eingeloggt ist.
Der Browser des Benutzers sendet nämlich bei jeder Anforderung eines geschützten Dokuments die
Benutzerdaten mit. Dass man die nur einmal eingeben muss, liegt daran, dass der Browser die Daten
für die aktuelle Session speichert. Trotzdem meldet er sich bei jedem Request neu an...
Du müsstest also selbst eine Lösung basteln: zb. könntest du von einem CGI-Skript speichern lassen,
welche IP ein bestimmter Benutzer (Name steht in der Umgebungsvariablen REMOTE_USER) gerade
verwendet. Ab diesem Zeitpunkt kannst du dann nur noch Zugriffe von dieser IP-Adresse zulassen (auch
nur über eine eigenes Skript möglich).
Folgendes ist zu beachten: damit der Benutzer nicht nur noch über diese eine IP-Adresse zugreifen kann,
musst du die gepsicherte Adresse bei dir auch irgendwann wieder löschen. Dazu könntest du einerseits
von deinen Benutzern verlangen, sich auszuloggen, sobald sie deinen geschützten Bereich verlassen
wollen, andererseits kannst - und solltest - du ein Timeout implementieren, das zb. 30 Minuten nach dem
letzten Zugriff die IP-Sperre für nichtgespeicherte Adressen aufhebt (falls dein Benutzer die Verbindung
verliert oder vergisst, sich auszuloggen).
bye, Frank!