Tobias: / (SERVER) User ausloggen

Hallo Forumer,

ich habe am Server ein Verzeichnis geschützt, in dem Verzeichnis
liegt eine index.php die mit REMOTE_USER den User überprüft und
in sein Verzeichnis, was auch geschützt ist, weiterleitet.

Falls der User später wiederkommt, wird sein Passwort wieder
automatisch gesetzt (mit IE z.B.). Gibt es eine Möglichkeit den
User "auszuloggen" wenn er die Seite oder das Verzeichnis verlässt
so das er sein Passwort immer wieder eingeben muss?

thx.
Tobias

  1. Hallo Tobias,
    ein direkter Logout ist soweit ich weiss bei .htaccess nicht möglich. Der Logout erfolgt beim schließen des Browserfensters.

    David

    1. hi,

      ein direkter Logout ist soweit ich weiss bei .htaccess nicht möglich. Der Logout erfolgt beim schließen des Browserfensters.

      HTTP AUTH kennt keinen logout, weil es auch keinen login kennt.
      die authentifizierungsdaten werden bei _jeder_ anforderung einer neuen seite vom client wieder erneut an den server übermittelt.

      gruss,
      wahsaga

  2. hi,

    redest du von HTPP AUTH?
    dann ist folgende frage

    Gibt es eine Möglichkeit den
    User "auszuloggen" wenn er die Seite oder das Verzeichnis verlässt
    so das er sein Passwort immer wieder eingeben muss?

    nämlich mit "nein, HTTP AUTH sieht keinen logout vor" zu beantworten.

    gruss,
    wahsaga

    1. redest du von HTPP AUTH?

      Was ist HTPP? "Hypertext Pransfer Protocol"?  ;)

  3. Hallo,

    Falls der User später wiederkommt, wird sein Passwort wieder
    automatisch gesetzt (mit IE z.B.).

    Was meinst Du mit "spaeter"?

      1. Waehrend der gleichen "Sitzung", d.h. wenn der Benutzer
           den Browser nie geschlossen hat?
      1. Wenn der Benutzer den Browser schliesst und zwei Tage
          spaeter wiederkommt?

    Gegen 1. kannst Du rein HTTP-Auth-maessig (fast) nichts machen.

    Sobald der Browser mit einer Benutzername-/Kennwort-Kombination
    irgendwo reingekommen ist, merkt er sich diese, bis er geschlossen
    wird oder bis er einen 401-Header kriegt, aus dem er dann schliesst,
    das Passwort sei nicht richtig.

    Die Ansaetze, bei Passwortschutz mit .htaccess auch ein
    "Ausloggen" zu ermoeglichen, beruhen auf Basteleien,
    mit denen trotz korrektem Passwort ein HTTP-401-Header
    geschickt wird, und bei denen der Browser dann meint, das
    Passwort sei falsch.
    Ist aber wie gesagt nur ein unzuverlaessiges Gebastel.

    Du koenntest - statt HTTP-Auth., bei der der Browser bei jeder
    Anfrage Benutzername und Passwort schickt - Sessions
    verwenden, und dann beim aktiven "Ausloggen" die Session
    zerstoeren. Um eine neue Session zu kriegen, muesste der
    Benutzer dann wieder auf die "Einloggen" Seite.
    Aber wenn Du als Schutz fuer diese Seite HTTP-Auth.
    verwendest, dann merkt sich der Browser die Benutzername-/
    Passwort-Kombi fuer diese Seite, bis er geschlossen wird
    oder bis er dort eine 401-Meldung kriegt (siehe oben).

    Gegen 2. kannst Du sowieso nichts machen.
    Wenn ein Benutzer so bequem und fahrlaessig ist, sich die
    Passwoerter permanent von seinem Browser speichern
    zu lassen, kannst Du nichts dagegen tun.

    Gruesse,

    Thomas

  4. Hallo Tobias,

    ein Ansatz, der funktionieren soll, den ich aber noch nicht getestet habe: Bei jedem Seitenaufruf dynamisch den Realm (AuthName) ändern. Das soll die meisten Browser dazu bewegen, JEDESmal nach dem Credentials zu fragen. Ggf. musst Du sogar den Namen der Datei oder zumindest den URL jedesmal ändern.

    Eine richtige Lösung gibt es nicht, denn Du versuchst vom Server aus ein Sicherheitsrisiko beim Benutzer zu minimieren. ;)

    Gruss, Thoralf

    --
    Sic Luceat Lux!
    1. Hello,

      ein Ansatz, der funktionieren soll, den ich aber noch nicht getestet habe: Bei jedem Seitenaufruf dynamisch den Realm (AuthName) ändern. Das soll die meisten Browser dazu bewegen, JEDESmal nach dem Credentials zu fragen. Ggf. musst Du sogar den Namen der Datei oder zumindest den URL jedesmal ändern.

      Das habe ich mal "großtechnisch" eingebaut, was den Server dann heillos zum Absturz brachte. Einige Browser sind dann nämlich der Meinung, dass sie für die URL doch die Credentials hätten und schicken die dann, sooft der Server mit 401 antwortet. Sie probieren dann einfach aus, wer zuerst aufgibt. Nix mit "nach dreimal ist Schluss".

      Hier ist ja leider der Browser zuständig für die Zählerei...

      Grüße

      Tom