Robstarr: htaccess - abfrage in html einbauen (via input abfragen)

Erstmal Hallo an alle,

ich habe in meiner webseite eine htaccess datei eingebunden und funktioniert auf tadellos, dank selfhtml.org.

allerdings würde ich gerne die eingabefelder der abfrage direkt ins php/html einbauen.
Also beispielsweise eine index.html mit form und darin input mit post:

<form action="index.php" method="post" name="abfrage">
<input type="text" name="benutzername">
<input type="passwort" name="passwort">
<submit.....>
</form>

<?php

$benutzername=$_post['benutzername'];
$passwort=$_post['passwort'];

....hier bitte hilfe..

die 2 felder sollen direkt die hta abfragen und ggf. den user reinlassen.

Ich finde einfach diese windowsähnlich eingabemaske zum ko**en.
Falls ihr eine Idee habt, wäre ich sehr dankbar.

Macht weiter so!

Liebe Grüße, Robert

--
Hilfe für alle! :-)
  1. Ich finde einfach diese windowsähnlich eingabemaske zum ko**en.

    Das ist aber das, was der Benutzer erwartet :)

    Falls ihr eine Idee habt, wäre ich sehr dankbar.

    Afaik gibts dafür keine Lösung - wenn doch, ich bin ganz Ohr :)

    1. Hallo suit,

      Falls ihr eine Idee habt, wäre ich sehr dankbar.
      Afaik gibts dafür keine Lösung - wenn doch, ich bin ganz Ohr :)

      aber klar doch: http://forum.de.selfhtml.org/archiv/2008/1/t165467/#m1078935

      Jochen

      --
      Kritzeln statt texten: Scribbleboard
      1. Afaik gibts dafür keine Lösung - wenn doch, ich bin ganz Ohr :)
        aber klar doch: http://forum.de.selfhtml.org/archiv/2008/1/t165467/#m1078935

        Und wie ersetzt du jetzt das Loginfenster durch ein HTML-Formular?

        1. Hi suit,

          Afaik gibts dafür keine Lösung - wenn doch, ich bin ganz Ohr :)
          aber klar doch: http://forum.de.selfhtml.org/archiv/2008/1/t165467/#m1078935

          Und wie ersetzt du jetzt das Loginfenster durch ein HTML-Formular?

          ich verstehe deine Frage nicht.

          Du machst einen GET auf die passwortgeschützte Ressource. Im Header des Requests schickst du wie hier beschrieben Benutzername und Passwort mit. Diese hast du vorher in einem Formular eingegeben.

          Grüße,

          Jochen

          --
          Kritzeln statt texten: Scribbleboard
          1. Nachtrag,

            Und wie ersetzt du jetzt das Loginfenster durch ein HTML-Formular?

            Du machst einen GET auf die passwortgeschützte Ressource. Im Header des Requests schickst du wie hier beschrieben Benutzername und Passwort mit. Diese hast du vorher in einem Formular eingegeben.

            Der Server, der bereits mit dem 1. Request des Browsers die passenden Credentials erhält sieht keine Veranlassung dem Browser einen "401 Unauthorized" zu schicken. Wo kein 401, da kein Loginfenster.

            Jetzt verständlicher?

            Jochen

            --
            Kritzeln statt texten: Scribbleboard
          2. Hi,

            Du machst einen GET auf die passwortgeschützte Ressource. Im Header des Requests schickst du wie hier beschrieben Benutzername und Passwort mit.

            Und wie veranlasse ich meinen Browser, den im verlinkten Posting gezeigten PHP-Code auszuführen ...?

            MfG ChrisB

            --
            Light travels faster than sound - that's why most people appear bright until you hear them speak.
            1. Und wie veranlasse ich meinen Browser, den im verlinkten Posting gezeigten PHP-Code auszuführen ...?

              Das ist meine eigentliche Frage - Danke :)

              1. Hi,

                Und wie veranlasse ich meinen Browser, den im verlinkten Posting gezeigten PHP-Code auszuführen ...?

                Das ist meine eigentliche Frage - Danke :)

                Um sie zu beantworten - per AJAX (plus serverseitigem Script) wäre das Vorhaben umsetzbar.

                Wenn bei einem AJAX-Request falsche Zugangsdaten übergeben werden, dann bringt der Browser stante pede wieder seine ursprüngliche Aufforderung zur Eingabe dieser Daten.

                Man könnte aber stattdessen per AJAX einen Request auf ein serverseitiges Script ausserhalb des geschützten Bereiches machen, und dabei die Zugangsdaten als normale (POST-)Parameter mitgeben.
                Das serverseitige Script prüft dann, ob diese "stimmen". (Man könnte .htpasswd auswerten, oder scriptseitig einen HTTP-Request auf eine Ressource im geschützten Bereich machen.)
                Das clientseitige JavaScript erhält dann eine entsprechende Rückmeldung. Waren die Daten nicht korrekt, dann kann es einen Fehler im Formular anzeigen. Waren sie korrekt, dann wird noch mal ein AJAX-Request gemacht - dieses mal auf eine Ressource innerhalb des geschützten Bereiches, und dabei die Zugangsdaten auch wirklich als solche mitgegeben. Daraufhin kann sich der Browser diese "merken", und auch für weitere, auf herkömmlichem Wege durchgeführte Anfragen verwenden.

                MfG ChrisB

                --
                Light travels faster than sound - that's why most people appear bright until you hear them speak.
              2. Hallo,

                Und wie veranlasse ich meinen Browser, den im verlinkten Posting gezeigten PHP-Code auszuführen ...?

                Das ist meine eigentliche Frage - Danke :)

                anscheinend bin ich zu doof es verstaändlich zu erklären :(

                Ein Formular (außerhalb eines per .htaccess geschützten Verzeichnisses)

                <?php  
                  if($_POST)  
                    {  
                    header('Authorization: Basic base64($_POST['Name']:$_POST['Pass'])');  
                    }  
                ?>  
                [...]  
                <form action="geschützer Bereich/index.php" method="post">  
                <input type="text" name="Name"> <input type="password" name="Pass"> 
                

                Wenn es jetzt immernoch nicht klar ist geb ich auf ...

                Jochen

                --
                Kritzeln statt texten: Scribbleboard
                1. Hi,

                  Ein Formular (außerhalb eines per .htaccess geschützten Verzeichnisses)

                  <?php

                  if($_POST)
                      {
                      header('Authorization: Basic base64($_POST['Name']:$_POST['Pass'])');

                    
                  Das sendet einen (unsinnigen) Response-Header an den Client - was soll der damit anfangen?  
                    
                  Der Server ist der jenige, der Authentifizierung verlangt, und zwar im Request.  
                    
                  MfG ChrisB  
                    
                  
                  -- 
                  Light travels faster than sound - that's why most people appear bright until you hear them speak.
                  
                  1. Hi,

                    Das sendet einen (unsinnigen) Response-Header an den Client - was soll der damit anfangen?

                    ok, du hast natürlich recht. Ich gehe noch mal in mich und denke über das geschriebene nach ...

                    Jochen