Daniel: & .htaccess

Hi,
ich habe folgendes problem. ich möchte einen bereich mit .htaccess
schützen,  um das login aber der seitengestalltung anzupassen möchte ich
die benutzer und pwd eingabe über eine php seite machen. ist dies
möglich? wie kann ich die eingaben an .htaccess übergeben? außer über
die URL was ja aber nicht bei allen brwosern funktioniert.

MfG

  1. Moin,

    die benutzer und pwd eingabe über eine php seite machen. ist dies
    möglich?

    Ja.
    Schaue dir mal das Array $_SERVER an. Dort gibt es PHP_AUTH_USER und PHP_AUTH_PW.
    http://www.php-faq.de/q/q-apache-php-passwort.html

    wie kann ich die eingaben an .htaccess übergeben?

    Brauchst Du dann nicht.

    SteBu

  2. Hallo!

    ich möchte einen bereich mit .htaccess
    schützen,  um das login aber der seitengestalltung anzupassen möchte ich
    die benutzer und pwd eingabe über eine php seite machen. ist dies
    möglich?

    Nein.

    Wenn Du nicht das Standard-Fenster des Browsers verwenden willst, musst Du Dir ein eigenes Login mit einem HTML-Formular und Sessions basteln. .htaccess oder HTTP_AUTH überhaupt können Dir dabei nicht helfen. Außerdem wirkt dieser Schutz dann nicht auf ein ganzes Verzeichnis, sondern immer nur auf die Scripte die den Passwortschutz explizit verwenden.

    Ein Beispiel für so ein Login-System findest Du hier: http://tut.php-q.net/login.html

    Grüße
    Andreas

    --
    SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
    1. Hallo!

      Ein Beispiel für so ein Login-System findest Du hier: http://tut.php-q.net/login.html

      Herrje, hab ja ganz vergessen dass wir hier seit neustem ja auch einen hervorragenden Feature Artikel von Benjamin zum Thema "Sessionbasiertes Loginsystem" haben: http://aktuell.de.selfhtml.org/tippstricks/php/loginsystem/ ;-)

      Grüße
      Andreas

      --
      SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
    2. Hi,
      vielen dank für deinen hinweis, ich habe ein SESSION loginsystem schon
      entwickelt klappt wunderbar, ich möchte die verzeichnisse aber
      zusätzlich mit .htaccess schützen. dies ist also nicht möglich?

      MfG

      1. Hallo!

        vielen dank für deinen hinweis, ich habe ein SESSION loginsystem schon
        entwickelt klappt wunderbar, ich möchte die verzeichnisse aber
        zusätzlich mit .htaccess schützen. dies ist also nicht möglich?

        Das geht nicht. Du kannst die Dateien nur per Server-Konfiguration schützen, und dann von einem PHP-Script ausliefern lassen. Aber da würde ich dann auch kein HTTP-AUTH verwenden, sondern am besten die Dateien außerhalb des doc-root speichern, und entsprechend der Rechte mit einem PHP-Script und readfile() ausliefern.

        Grüße
        Andreas

        --
        SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
  3. Hi,

    die benutzer und pwd eingabe über eine php seite machen. ist dies
    möglich?

    Wenn (wie üblich) allow_url_open erlaubt ist, sollte das gehen.

    wie kann ich die eingaben an .htaccess übergeben? außer über
    die URL was ja aber nicht bei allen brwosern funktioniert.

    Direkt mit PHP: fopen('http://user:passwort@www.example.org/protected/dummy.dat','r')

    dummy.dat darf auch 0 Bytes groß sein - es geht ja nur um die Anmeldung. ;-)

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. Hallo!

      Direkt mit PHP: fopen('http://user:passwort@www.example.org/protected/dummy.dat','r')

      dummy.dat darf auch 0 Bytes groß sein - es geht ja nur um die Anmeldung. ;-)

      Und was hat man dann davon gehabt? Entweder man reicht alle Seiten auf diese Weise durch, oder es bringt nichts. Der Browser merkt sich die HTTP_AUTH Zugangsdaten nur, wenn sie über das Eingabefenster eingegeben wurden.

      Grüße
      Andreas

      --
      SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/
      1. Hi,

        Direkt mit PHP: fopen('http://user:passwort@www.example.org/protected/dummy.dat','r')
        Und was hat man dann davon gehabt? Entweder man reicht alle Seiten auf diese Weise durch, oder es bringt nichts.

        und da dies nicht von allen browsern unterstützt wird ist es auch nicht
        die lösung die ich verwenden könnte. ich hatte dies mal zu testzwecken
        so eine kleine mehrseitige page gebastelt und mit FF und Ie getestet,
        ich weis nichtmehr mit welchem aber mit einem von beiden funktionierte
        es nicht. wenn ich mich recht erinnere hat der IE gestreikt.

        MfG

        1. Hi,

          und da dies nicht von allen browsern unterstützt wird

          Was der Browser kann oder nicht, ist PHP natürlich echt egal - und in PHP ist diese Möglichkeit halt vorgesehen.

          Aber man muß dann die Datei auch, s. Andreas richtige Anmerkung, auch mit PHP an den Browser weiterleiten, also z.B. readfile('http://user...').

          wenn ich mich recht erinnere hat der IE gestreikt.

          Korrekt. Spätestens ab SP2. Nur ist das PHP egal.

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
        2. Hallo!

          Direkt mit PHP: fopen('http://user:passwort@www.example.org/protected/dummy.dat','r')
          Und was hat man dann davon gehabt? Entweder man reicht alle Seiten auf diese Weise durch, oder es bringt nichts.

          und da dies nicht von allen browsern unterstützt wird ist es auch nicht
          die lösung die ich verwenden könnte.

          Das was Cybaer gepostet hat war PHP-Code, den die Browser gar nicht zu sehen bekommen. Bei der Vartiante macht das PHP-Script selber nochmal einen HTTP-Request um an die Resource zu kommen. Das ganze ist auch nicht unbedingt von allow_url_fopen abhängig (im Gegenteil ich würde das aus sicherheitstechnischen Gründen lieber deaktivieren), das geht auch mit fsockopen() oder etwas einfacher mit PEAR::HTTP_Request:

          <?php  
          require_once 'HTTP/Request.php';  
          $req =& new HTTP_Request('http://forum.de.selfhtml.org/my/');  
          $req->setBasicAuth('johndoe', 'foo');  
          $response = $req->sendRequest();  
          if (PEAR::isError($response)) {  
              echo $response->getMessage();  
          } else {  
              echo $req->getResponseBody();  
          }  
          ?>
          

          Das bringt aber auch einige Probleme mit sich, da Du nicht direkt auf die Resourcen zugreifst.

          Grüße
          Andreas

          --
          SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
      2. Hi,

        Und was hat man dann davon gehabt? Entweder man reicht alle Seiten auf diese Weise durch, oder es bringt nichts.

        Oops, ja klar. =:-)

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!