RomanD: .htaccess - Logout

Hi,

ich habe das Verzeichniss eines Skripts mit einer .htaccess geschützt. Um auf das Skript zugreifen zu können, muss man also Name und Passwort eingeben.
Ist es möglich, sich irgendwie wieder auszuloggen, so das man wieder zu dem Eingabe-Dialog kommt?

header("HTTP/1.1 401 Unauthorized");

funktioniert schonmal nicht.

Gruß

  1. @@RomanD:

    ich habe das Verzeichniss eines Skripts mit einer .htaccess geschützt. Um auf das Skript zugreifen zu können, muss man also Name und Passwort eingeben.
    Ist es möglich, sich irgendwie wieder auszuloggen, so das man wieder zu dem Eingabe-Dialog kommt?

    Nein. Man ist gar nicht „eingeloggt“.

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
  2. gudn tach!

    Ist es möglich, sich irgendwie wieder auszuloggen, so das man wieder zu dem Eingabe-Dialog kommt?

    das was Gunnar so mega-ausfuehrlich erklaerte, ist das hier.

    ausgeloggt wird man implizit durch browser-schliessen. es gibt ansaetze, das ausloggen serverseitig zu ermoeglichen, jedoch funzt das nicht perfekt, siehe http://www.php.net/manual/features.http-auth.php.

    prost
    seth

  3. header("HTTP/1.1 401 Unauthorized");
    funktioniert schonmal nicht.

    In Kombination mit einer geänderten "realm" sollte es das aber.

    1. Hab ich schon probiert.
      Das Problem ist, wenn man bei der Eingabe auf Abbrechen klickt, bleibt man auf der Seite.

      1. Hab ich schon probiert.
        Das Problem ist, wenn man bei der Eingabe auf Abbrechen klickt, bleibt man auf der Seite.

        Sicher dass du keinen Denkfehler eingebaut hast?
        Hab das eben mal selbst versucht umzusetzen:
        http://rfz.dyndns.tv/httplogin/

        1. Sicher dass du keinen Denkfehler eingebaut hast?
          Hab das eben mal selbst versucht umzusetzen:

          Ok, hab leider selbst festgestellt, dass es nicht geht :)
          Der IE verhält sich so wie ich es erwarte, der FF läd dagegen beim Abbrechen und anschließend F5 drücken die Seite mit den vorherigen Zugangsdaten, obwohl sich eigentlich die realm geändert hat und er garkeine Zugangsdaten kennen sollte!

          1. der FF läd dagegen beim Abbrechen und anschließend F5 drücken die Seite mit den vorherigen Zugangsdaten

            Im FF ist das Verhalten irgendwie seltsam... Wenn man auf "Re-Login" drückt, dann will er ein Passwort. Drückt man Abbrechen, dann ist man nicht autorisiert. F5 "loggt" einen wieder ein, nochmal F5 wieder aus und der FF will wieder das Passwort haben, F5 und man ist wieder drinnen usw.

            Ist das nun ein Bug im FF? Oder hast wie kann man sich das Verhalten erklären?

            1. Ist das nun ein Bug im FF? Oder hast wie kann man sich das Verhalten erklären?

              Das hängt mit meinem Skript zusammen... Wenn ich auf Re-Login drücke, muss ich den Zugriff auf die Seite verweigern, obwohl die Zugangsdaten die der Browser sendet richtig sind, damit die Abfrage kommt.
              Gibt der User dann die Zugangsdaten ein, erzeugt der Browser exakt das selbe Request wie vorher, diesmal muss ich aber die Zugangsdaten prüfen und ggf. OK geben.
              Da sich beide Requests nicht voneinander unterscheiden lassen, ausser durch ihre zeitliche Abfolge, muss ich hier mit Sessions arbeiten und damit bestimmen welche die erste Anfrage war.
              Soweit so gut, im IE funktioniert das, weil er die Zugangsdaten verwirft, sobald er mit ihnen einmal ein unauthorized bekommen hat und zudem auf eine neue Realm hingewiesen wurde.
              Der FF hingegen macht es anders, wenn man abbricht bekommt er wie beabsichtigt die Unauthorized-Meldung. Wenn man dann aber aktualisiert scheint sich der FF zu erinnern dass er früher einmal gültige Zugangsdaten für diese Seite hatte und sendet diese. Für mich unverständlich, da die realm nicht mehr die selbe wie früher ist... Offensichtlich scheint er eine realm nur dann zu übernehmen, wenn er dafür auch gültige Zugangsdaten gespeichert hat.