roger: abmelden von auth Webseite

Hallo,

wenn ich mich mit dem Browser auf dem Webserver autorisiere (htaccess) wird das Passwort bzw. der Zugang so lange offen gehalten bis ich den Browser schließe/beende, auch wenn ich nicht mehr auf die Seite zugreife bzw. am Browser geöffnet habe.(oder Timeout)

Gibt es eine Möglichkeit auf der Webseite vom Server einen Button -> Logout zu erstellen der mir die gespeicherte Verbindung auf meinem Browser löscht, oder ähnliches ??

Ich hoffe es etwas verständlich ausgedrückt zu haben.

Gruß
        roger

  1. Hi,

    wenn ich mich mit dem Browser auf dem Webserver autorisiere (htaccess) wird das Passwort bzw. der Zugang so lange offen gehalten bis ich den Browser schließe/beende, auch wenn ich nicht mehr auf die Seite zugreife bzw. am Browser geöffnet habe.(oder Timeout)

    richtig, und AFAIK gibt es da kein Timeout. Der Browser speichert die eingegebenen Zugangsdaten, wenn der Zugriff mal erfolgreich war.

    Gibt es eine Möglichkeit auf der Webseite vom Server einen Button -> Logout zu erstellen der mir die gespeicherte Verbindung auf meinem Browser löscht, oder ähnliches ??

    Eventuell ja, aber auf sehr unschöne Weise. Du brauchst "nur" eine Ressource aufzurufen, die trotz gültiger Zugangsdaten mit dem HTTP-Status "401 Authorization required" antwortet. Dann wird der Browser dich erneut nach Benutzer und Kennwort fragen, du kannst den Eingabedialog abbrechen und siehst dann die in diesem Fall erwünschte Fehlermeldung. IMO müsste der Browser dann die vorher gespeicherten Zugangsdaten verwerfen, weil der Zugriff jetzt nicht mehr erfolgreich war.
    Das ist jetzt aber nur eine These, die ich nie ausprobiert habe.

    Ciao,
     Martin

    --
    Zwei Mäuse treiben's miteinander. Sagt der Mäuserich: "Hoffentlich ist nicht wieder alles für die Katz."
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hallo und danke für die schnelle Antwort,

      Du brauchst "nur" eine Ressource aufzurufen, die trotz gültiger Zugangsdaten mit dem HTTP-Status "401 Authorization required" antwortet. Dann wird der Browser dich erneut nach Benutzer und Kennwort fragen, du kannst den Eingabedialog abbrechen und siehst dann die in diesem Fall erwünschte Fehlermeldung.

      Aha.. ???
      Wie soll ich es anstellen das trotz richtigem Dialog/Ablauf eine Fehlermeldung vom Apache heraus kommt ??????

      Da habe ich überhaupt keine Idee, hast du eine Ansatz ?

      Gruss
           roger

      1. Hallo,

        Du brauchst "nur" eine Ressource aufzurufen, die trotz gültiger Zugangsdaten mit dem HTTP-Status "401 Authorization required" antwortet. Dann wird der Browser dich erneut nach Benutzer und Kennwort fragen, du kannst den Eingabedialog abbrechen und siehst dann die in diesem Fall erwünschte Fehlermeldung.
        Aha.. ???
        Wie soll ich es anstellen das trotz richtigem Dialog/Ablauf eine Fehlermeldung vom Apache heraus kommt ??????

        welche serverseitige Technik/Scriptsprache verwendest du denn? Ich gehe mal von PHP aus, das ist vermutlich der häufigste Fall.

        Da habe ich überhaupt keine Idee, hast du eine Ansatz ?

        header('WWW-Authenticate: Basic realm="<realm>"');  
        header('HTTP/1.0 401 Unauthorized');
        

        Für <realm> setzt du selbstverständlich denselben Wert ein wie bei der ursprünglichen Authentifizierung. Das PHP-Handbuch hat übrigens einen ganzen Abschnitt über das Zusammenspiel von HTTP-AUTH und PHP.

        Ciao,
         Martin

        --
        Wer schläft, sündigt nicht.
        Wer vorher sündigt, schläft besser.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. [latex]Mae  govannen![/latex]

          welche serverseitige Technik/Scriptsprache verwendest du denn? Ich gehe mal von PHP aus, das ist vermutlich der häufigste Fall.

          Wenn schon eine serverseitige Technik vorhanden ist, sollte man IMO darauf verzichten, HTTP-AUTH austricksen zu wollen und auf einen sessionbasierten Login setzen. Ich fände es zumindest äußerst seltsam, wenn ich als autorisierter Nutzer beim Logout einen erneuten Login-Dialog vorgesetzt bekäme, die ich dann abbrechen soll.

          Stur lächeln und winken, Männer!
          Kai

          --
          var jQuery = $(hit);
          „Die Borg würden nicht mal Spaß verstehen, wenn sie einen Vergnügungspark assimiliert hätten!” (B'Elanna Torres)
          SelfHTML-Forum-Stylesheet
          1. Hallo,

            header('WWW-Authenticate: Basic realm="<realm>"');
            header('HTTP/1.0 401 Unauthorized');
            ``

            ich möchte den header mit print header('WWW-Authenticate: Basic realm="<realm>"'); ausgeben.
            Jedoch wird weder das passwort überschrieben/aktualisiert sondern es kommt nur ein speichern Dialog, die print Ausgabe soll in eine Datei beim client abgespeichert werden.
            Wie kann ich das verhindern das die "print header" direkt zum client/Browser geht und nicht in eine Datei abgespeichert werden soll ??

            Es sollte keinen Unterschied beim Header zwischen Perl und PHP geben.

            Gruß
                  roger

        2. Hallo,

          welche serverseitige Technik/Scriptsprache verwendest du denn? Ich gehe mal von PHP aus, das ist vermutlich der häufigste Fall.

          benutze das gute alte Perl

          header('WWW-Authenticate: Basic realm="<realm>"');

          header('HTTP/1.0 401 Unauthorized');

          
          >   
          > Für <realm> setzt du selbstverständlich denselben Wert ein wie bei der ursprünglichen Authentifizierung.  
            
          Ich benutze überhaupt keinen extra Dialog. Wenn ich die erste Seite aufrufe kommt der login-Dialog.  
            
                 Gruss  
                   roger 
          
    2. Lieber Der Martin,

      Du brauchst "nur" eine Ressource aufzurufen, die trotz gültiger Zugangsdaten mit dem HTTP-Status "401 Authorization required" antwortet. Dann wird der Browser dich erneut nach Benutzer und Kennwort fragen, du kannst den Eingabedialog abbrechen und siehst dann die in diesem Fall erwünschte Fehlermeldung. IMO müsste der Browser dann die vorher gespeicherten Zugangsdaten verwerfen, weil der Zugriff jetzt nicht mehr erfolgreich war.

      ich habe es mir ebenfalls geleistet, dieses nicht auszuprobieren, sondern mutmaße nur müßig darüber. ;-)

      IMHO wird der Browser den Login-Dialog zeigen. Nach dem Abbrechen sich aber die bisher gültigen (und durch keine Neueingabe überschriebenen Logindaten) weiterhin merken.

      Liebe Grüße,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)