Mirko: (HTML) (CGI?) «FORM»-Login für .htaccess?

Hallo,

gibt es irgendeine Möglichkeit, ein normales HTML-<FORM>ular für die Anmeldung auf ein mit .htaccess geschütztes Verzeichnis zu verwenden?

Die einzige Möglichkeit, die mir eingefallen ist, ist ein Script, das mit "Location: http://login:password@www.server.de" weiterleitet, aber dann steht der Benutzername in der Adresszeile - nicht besonders geschickt... :-(

Ciao,
Mirko

  1. gibt es irgendeine Möglichkeit, ein normales HTML-<FORM>ular für die Anmeldung auf ein mit .htaccess geschütztes Verzeichnis zu verwenden?

    Was willst Du überhaupt erreichen?
    Wozu baust Du mit HTML ein feature nach, das alle Browser ohnehin unterstützen?

    Die einzige Möglichkeit, die mir eingefallen ist, ist ein Script, das mit "Location: http://login:password@www.server.de" weiterleitet,
    aber dann steht der Benutzername in der Adresszeile - nicht besonders geschickt... :-(

    Eben. Dadurch wird es nicht wirklich besser ... ;-)

    1. gibt es irgendeine Möglichkeit, ein normales HTML-<FORM>ular für die Anmeldung auf ein mit .htaccess geschütztes Verzeichnis zu verwenden?
      Was willst Du überhaupt erreichen?
      Wozu baust Du mit HTML ein feature nach, das alle Browser ohnehin unterstützen?

      In erster Linie aus optischen Gründen. Die Leute sind nunmal von fast allen großen Seiten (GMX, freemail.de, ...) Login-Felder auf der Startseite gewöhnt. Aber auf 'ne andere Login-Technik will ich aber auch nicht unbedingt umsteigen, wenn ich mir die Arbeit sparen kann...

      Ciao,
      Mirko

      1. gibt es irgendeine Möglichkeit, ein normales HTML-<FORM>ular für die Anmeldung auf ein mit .htaccess geschütztes Verzeichnis zu verwenden?

        Ich bin gerade dabei, meine beiden Artikel über .htaccess zu einem zusammenzufassen und zu überarbeiten.
        Dabei bin ich über einen Artikel der Apache Week gestolpert, in dem beschrieben ist, wie der Browser die Kommunikation mit dem Server durchführt.

        1. Der Browser sendet zuerst mal die normale Anforderung.
        2. Der Webserver sendet dann einen HTTP-Code 401 und einen HTTP-Header "WWW-Authenticate" zurück und fordert den Browser auf, eine Identifikation mitzusenden.
        3. Der Browser wiederholt seine Anforderung und sendet im HTTP-Header "Authorization" mit Benutzerkennung und Passwort mit.
        4. Jetzt kann der Webserver entscheiden, ob der Zugriff klappt oder nicht (dann Error 403).
        (URL des Artikels: http://www.apacheweek.com/features/userauth/.)

        Dieses Verhalten kannst Du also nachbauen, wenn Du über "Location:" auf den geschützten URL weiterleitest und den "Authorization"-header mitschickst.
        Das Problem wäre eher, daß sich irgendwer Benutzerkennung und Passwort merken muß - das nämlich tut normalerweise der Browser für Dich, und zwar in Abhängigkeit von Servername und Realm-Name.

        1. Sorry, Korrektur:
             URL des Artikels: http://www.apacheweek.com/features/userauth.)
          (der "/" am Ende war zuviel)

          Deine Aufgabenstellung läuft darauf hinaus, via CGI einen Browser zu emulieren (d. h. eben HTTP 1.x zu unterstützen).
          Immerhin mußt Du auch den WWW-Authenticate anfordern und Dich dann entsprechend verhalten, denn dort steht nicht nur der Realm-Name, sondern vor allem auch der Typ des Authentifizierungsprotokolls drin, und der kann neben "Basic" (Passworte im Klartext) auch andere Werte haben, etwa "Digest" (Password MD5-verschlüsselt) usw.
          Na dann: Viel Spaß beim Programmieren ...