Stefan Einspender: Anzahl der Versuche bei .htaccess-Login festlegen

Hallo ForumsleserInnen!

Gibt es eine Möglichkeit, die Anzahl der Aufrufe des Authentifizierungs-
dialoges bei Einloggen auf einer mit .htaccess geschützten Seite
zu limitieren (im kongreten Fall soll die Abfrage nur ein einziges
Mal kommen)?
Wenn ja, kann man es auch einrichten, wenn man _nicht_ Zugriff auf
den Server direkt, sondern nur auf die .htaccess usw. hat?

Viele Grüße aus Dresden,
Stefan Einspender

  1. Hi.

    Gibt es eine Möglichkeit, die Anzahl der Aufrufe des Authentifizierungs-
    dialoges bei Einloggen auf einer mit .htaccess geschützten Seite
    zu limitieren (im kongreten Fall soll die Abfrage nur ein einziges
    Mal kommen)?

    Direkt nicht. Aber mit etwas flexibler Programmierung
    kein Problem. (Life-ueberwachung der Access-Log, darin ein
    Access-Guard einbauen, der falsche Zugriffe von IP's innerhalb
    eines Zeitraums zaehlt und ggf. dann die .htaccess aendert.)

    Wenn ja, kann man es auch einrichten, wenn man _nicht_ Zugriff auf
    den Server direkt, sondern nur auf die .htaccess usw. hat?

    Die Frage ist an sich falsch.
    Du greifst IMMER auf dern Server zu. Das .htaccess liegt auf
    dem Server und wird von diesem Interpretiert.

    Ich empfehle die Lektuere von http://www.apache.de.
    ->Server Doku -> Modul access

    Ciao,
      Wolfgang

    1. Hallo Wolfgang!

      Danke erstmal für Deine Anwort, allerdings bleibt die Frage noch
      bestehen :-(

      Direkt nicht. Aber mit etwas flexibler Programmierung
      kein Problem. (Life-ueberwachung der Access-Log, darin ein
      Access-Guard einbauen, der falsche Zugriffe von IP's innerhalb
      eines Zeitraums zaehlt und ggf. dann die .htaccess aendert.)

      Es geht mir nicht darum, wieoft ein User innerhalb eines bestimmten
      Zeitraumes den Zugriff wieder neu versucht, sondern um einen Fall,
      d.h. beim IE kommt dann exakt dreimal die Passwortabfrage, dannoch
      das 401-Dokument.
      Aber ich habe gerade beim Netscape probiert (sorry, hätte ich
      schon gestern machen sollen!), da kann ich ja bis ich schwarz
      werde die Anmeldung versuchen ("Erneut versuchen" -> [JA] usw.)

      Vielleicht kennt ja jemand eine browserspezifische Variante, die
      IE-Lösung würde mir auch reichen, um da das Login-Fenster nur ein
      einziges Mal anzuzeigen, danach entweder der geschützte Inhalt (
      wenn der Login korrekt war) oder eben das 401-Dokument.

      Du greifst IMMER auf dern Server zu. Das .htaccess liegt auf
      dem Server und wird von diesem Interpretiert.

      Ich empfehle die Lektuere von http://www.apache.de.
      ->Server Doku -> Modul access

      Ist falsch rübergekommen, ich meinte, dass ich sehr wohl die
      .htaccess verwenden kann, allerdings in der Konfiguration des
      Apache direkt (was über .htaccess etc. hinausgeht) kann ich nix
      machen (apache.org habe ich schon vorher konsultiert, konnte da
      leider nix finden).

      Viele Grüße aus Dresden,
      Stefan Einspender

      PS: Vielleicht gibt es ja auch einen .htaccess-Eintrag, wie
      "Authlogin 1" o.ä. ... ;)

      1. Hi,

        Direkt nicht. Aber mit etwas flexibler Programmierung
        kein Problem. (Life-ueberwachung der Access-Log, darin ein
        Access-Guard einbauen, der falsche Zugriffe von IP's innerhalb
        eines Zeitraums zaehlt und ggf. dann die .htaccess aendert.)

        Es geht mir nicht darum, wieoft ein User innerhalb eines bestimmten
        Zeitraumes den Zugriff wieder neu versucht, sondern um einen Fall,
        d.h. beim IE kommt dann exakt dreimal die Passwortabfrage, dannoch
        das 401-Dokument.

        Das ist aber IE-willkuerlich!
        In der Serverdokumentation von Apache steht darueber meines
        Erachtens nichts, also meint IE mal wieder in die Workflows
        anderer eingreifen zu muessen :

        Aber ich habe gerade beim Netscape probiert (sorry, hätte ich
        schon gestern machen sollen!), da kann ich ja bis ich schwarz
        werde die Anmeldung versuchen ("Erneut versuchen" -> [JA] usw.)

        Vielleicht kennt ja jemand eine browserspezifische Variante, die
        IE-Lösung würde mir auch reichen, um da das Login-Fenster nur ein
        einziges Mal anzuzeigen, danach entweder der geschützte Inhalt (
        wenn der Login korrekt war) oder eben das 401-Dokument.

        Wuerde ich wirklich nicht machen.
        Zumal die obige Loesung von wegen Einbau eines Auswerteskriptes im
        Feld 'TransferLog' wirklich einfach und billig ist.
        UND: Browserunabhaengig.
        Ich benutzt z.B. ein Perlskript als TransfderLog, welches mir
        dann Logfiles fuer einzelne verzeichnisse macht und gleichzeitig
        ne andere Auswertung. Ich glaub eine Lowversion liegt auch auf auf mein
        freecode-Verzeichnis unter den Namen splitlog.pl (http://cgi.xwolf.com/freecode)

        Sicher wird sich irgentwas fuer irgentwelche Browser mit
        JS finden lassen, aber was machst du mit den Leuten, die
        JS ausschalten etc. pp. ?

        Du greifst IMMER auf dern Server zu. Das .htaccess liegt auf
        dem Server und wird von diesem Interpretiert.

        Ich empfehle die Lektuere von http://www.apache.de.
        ->Server Doku -> Modul access

        Ist falsch rübergekommen, ich meinte, dass ich sehr wohl die
        .htaccess verwenden kann, allerdings in der Konfiguration des
        Apache direkt (was über .htaccess etc. hinausgeht) kann ich nix
        machen (apache.org habe ich schon vorher konsultiert, konnte da
        leider nix finden).
        PS: Vielleicht gibt es ja auch einen .htaccess-Eintrag, wie
        "Authlogin 1" o.ä. ... ;)

        Hab auch nichts darueber gefunden.
        Aber ich koennte mir vorstellen, das es sowas bei der SSL/HTTPS-version
        des Servers gibt!
        Hast du da schon geschaut?

        Ciao,
          Wolfgang

        1. Hallo,

          Zumal die obige Loesung von wegen Einbau eines Auswerteskriptes im
          Feld 'TransferLog' wirklich einfach und billig ist.
          UND: Browserunabhaengig.

          Aber ich koennte mir vorstellen, das es sowas bei der SSL/HTTPS-version
          des Servers gibt!

          freecode-Verzeichnis unter den Namen splitlog.pl (http://cgi.xwolf.com/freecode)

          Für eine Mark im Monat (Strato, Web-Visitenkarte S) ist man eben
          doch manchen Zwängen unterworfen, die jeden der obigen Ansätze
          zunichte machen ;)
          Dennoch werde ich mal in Deinem freecode-Verzeichnis reinschauen,
          für andere Projekte kann ich es sicher ganz gut gebrauchen, mal
          schauen.

          Sicher wird sich irgentwas fuer irgentwelche Browser mit
          JS finden lassen, aber was machst du mit den Leuten, die
          JS ausschalten etc. pp. ?

          So ein Zeugs kommt da nicht hin, ist halt der *.htaccess nicht die
          eleganteste aber dafür sichereste Lösung.

          Insgesamt gesehen ist es nicht sooo schlimm, wenn ich keine Lösung
          habe (bzw. einsetzen kann), es wäre nur eben sehr elegant gewesen,
          wenn der User nach einmaligen falschen Login sofort (und auch ohne
          die Fehlermeldung im NC) auf die 401-Seite gelangt, dann merkt er
          nicht, dass er eigentlich die falsche und nicht die geschützte Seite
          sieht (die 401 ist natürlich dementsprechend gestaltet!).

          Viele Grüße aus Dresden,
          Stefan Einspender

        2. Auch Hi!

          PS: Vielleicht gibt es ja auch einen .htaccess-Eintrag, wie
          "Authlogin 1" o.ä. ... ;)

          Hab auch nichts darueber gefunden.

          Logisch. HTTP ist ein zustandsloses Protokoll, und das heisst, dass der Webserver bei einer Anfrage des Clients keinen blassen Schimmer hat, was dieser Client vorher alles schon fuer Requests an den Server geschickt hat. Und so weiss er nicht, wieviele Anfragen der Client in der letzten Zeit losgelassen hat, welche Seiten besucht wurden, wieviel Megabytes uebertragen wurden, und auch nicht, wie oft keine oder falsche Authorisierungsinformationen mitgeschickt wurden. Zwar schreibt er jede Kommunikation in seinen Logfiles mit, und wenn man diese auswertet, kann man entsprechende Dinge herausfinden. Aber der Webserver liest seine Logs nicht, er schreibt sie nur. Und weil der Webserver nun also solche Dinge nicht feststellen kann, wird es auch eine solche .htaccess-Option nicht geben.

          Was das seltsame Verhalten des IE angeht, so ist das eine Moeglichkeit, wie man ein Benutzerinterface gestalten *kann*, das hat aber nichts mit HTTP zu tun. Es ist lediglich denkbar, dass MS irgendwelche Erweiterungen zu HTTP dazu-dichtet, diese wuerden dann aber natuerlich nur mit IE auf der Clientseite und IIS auf der Serverseite funktionieren. Die Apache Group dagegen implementiert meines Wissens nicht mehr und nicht weniger als den Inhalt der RFCs (derzeit 2616; Vorgaenger 2068).

          So long