Roger: .htaccess wird nicht erkannt

moin!

ich habe bei einem provider, der win + apache 2.0.39 + php einsetzt ein .htaccess problem. und zwar wird statt der gewünschten passwortabfrage gar nix gemacht. ich komme nach wie vor in das verzeichnis!

nach absprache mit dem provider steht folgender eintrag in der httpd.conf:
AccessFileName .htaccess
<Files ~ "^.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

meine .htaccess lautet:
AuthUserFile D:/wwwrootnatex/test/.htpasswd
AuthType Basic
AuthName "passwortgeschützer Bereich"
require user test

woran kann es denn noch liegen? bin mit meinem latain am ende... :(

gruß.
roger.

--
Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
  1. Moin!

    AuthUserFile D:/wwwrootnatex/test/.htpasswd

    Das ist vielleicht auf Deinem lokalen Rechner so, auf dem Server wohl kaum...

    MfG
    Danny

    1. Moin!

      AuthUserFile D:/wwwrootnatex/test/.htpasswd

      Das ist vielleicht auf Deinem lokalen Rechner so, auf dem Server wohl kaum...

      Doch, da es ein Windows-Server ist, kann das schon stimmen. Bleibt nur die Frage: Warum zum Teufel setzt man Windows zusammen mit dem Apache als Webserver ein?

      - Sven Rautenberg

      1. Hallo

        Doch, da es ein Windows-Server ist, kann das schon stimmen. Bleibt nur die Frage: Warum zum Teufel setzt man Windows zusammen mit dem Apache als Webserver ein?

        warum nicht? wo liegt das problem?

        tschö

        1. moin!

          warum nicht? wo liegt das problem?

          tschö

          eben! man kann auch übertreiben. außerdem interessiert nicht das wie, was, warum der hintergründe bei einer schnellen problemlösung, sondern eher die lösung des problems. windowshasser hin oder her - ich habe keinen einfluss auf die konfig des providers und die wahl des providers meines kundens.

          gruß.
          roger.

          --
          Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
        2. Hallo,

          Doch, da es ein Windows-Server ist, kann das schon stimmen. Bleibt nur die Frage: Warum zum Teufel setzt man Windows zusammen mit dem Apache als Webserver ein?

          warum nicht? wo liegt das problem?

          Dass Apache nicht für Windows gemacht ist und bei _jeder_ Apache version deutlich zu die Warnung zu lesen ist, dass man es unter Windows möglichts nicht für den Produktionsbetrieb einsetzen sollte.

          Grüße
          Thomas

          1. Moin!

            Doch, da es ein Windows-Server ist, kann das schon stimmen. Bleibt nur die Frage: Warum zum Teufel setzt man Windows zusammen mit dem Apache als Webserver ein?

            warum nicht? wo liegt das problem?

            Dass Apache nicht für Windows gemacht ist und bei _jeder_ Apache version deutlich zu die Warnung zu lesen ist, dass man es unter Windows möglichts nicht für den Produktionsbetrieb einsetzen sollte.

            Das steht bei Version 1.3 dabei, nicht aber bei Version 2.0.

            Ich kann nur nicht nachvollziehen, warum man als Provider Windows und Apache kombiniert. Welchen Vorteil bringt das? Die potentielle Unsicherheit und die Lizenzgebühren von Windows kombiniert mit einer zuverlässigen und kostenlosen Open-Source-Software klingt irgendwie ziemlich widersinnig. Warum nicht Linux, *BSD oder sonst ein freies Betriebssystem nehmen? Das wäre irgendwie "natürlicher", kostensparender und in meinen Augen durchaus auch sicherer und simpler zu administrieren - man braucht schließlich nur einen SSH-Zugang mit Textkonsole, nichts grafisches.

            - Sven Rautenberg

            1. Hallo,

              Dass Apache nicht für Windows gemacht ist und bei _jeder_ Apache version deutlich zu die Warnung zu lesen ist, dass man es unter Windows möglichts nicht für den Produktionsbetrieb einsetzen sollte.

              Das steht bei Version 1.3 dabei, nicht aber bei Version 2.0.

              Ich kann nur nicht nachvollziehen, warum man als Provider Windows und Apache kombiniert.

              Ja, das kann ich auch nicht wirklich nachvollziehen.

              Grüße
              Thomas

      2. Hast recht, ich hatte das wichtige Detail "Win" in den Providerdaten überlesen. Diese Kombination läuft einem ja meistens nur bei lokalen Testservern über den Weg, weshalb ich wahrscheinlich was überlesen und sofort an Linux-Server gedacht habe... ;)

        MfG
        Danny

  2. Hallo Roger,

    AuthUserFile D:/wwwrootnatex/test/.htpasswd

    Hier muss der absolute Pfad zu deiner .htpasswd stehen. Wenn Du den nicht kennst, pack eine PHP-Datei mit dem Inhalt
    <?php
    print realpath(dirname($_SERVER['PHP_SELF')) . '.htpasswd';
    ?>
    in das gleiche Verzeichnisse, die wird dir Pfad verraten.

    Gruß,

    Dieter

    1. moin!

      Hallo Roger,

      AuthUserFile D:/wwwrootnatex/test/.htpasswd
      Hier muss der absolute Pfad zu deiner .htpasswd stehen. Wenn Du den nicht kennst, pack eine PHP-Datei mit dem Inhalt

      yo, danke. das ist der absolute pfad.
      nach dem 10. anruf beim provider hat sich dann herrausgestellt, dass die "AllowOverride All"-Directive für das Verzeichnis auf None gesetzt war. Super! Trotz dessen dass ich "All" gesagt hatte... tss

      Jetzt hab ich nur noch das Problem, dass meine Passwörter, die mit crypt($_POST["pw"]) erzeugt wurden nicht erkannt werden. liegt das jetzt noch an der apache-konfig? oder muss ich woanders suchen?

      gruß.
      roger.

      --
      Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
      1. Hi,

        Jetzt hab ich nur noch das Problem, dass meine Passwörter, die mit crypt($_POST["pw"]) erzeugt wurden nicht erkannt werden. liegt das jetzt noch an der apache-konfig? oder muss ich woanders suchen?

        Unter windows funktioniert crypt im Apache nicht.
        Benutz doch das htpasswd.exe im bin-Verzeichnis zur Erzeugung der Einträge. Unter Windows verwendet es defaultmäßig den Apache-MD5.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hallo Andreas,

          Ich habe gerade ein Script in PHP in der Mache, das sich mit htaccess-Manipulationen befasst. Die Passwoerter fuer Linux lassen sich ja mit crypt() erzeugen. Unter Windows funktionieren, soviel ich weiss, auch Klartext-Passwoerter.
          Die MD5-Implementierung von htpasswd ist ja eine spezielle, sodass man PHPs md5() nicht benutzen kann.
          Gibt es einen Weg, verschluesselte, Windows-taugliche Passwoerter fuer ein AuthUserFile zu erzeugen, also ohne den Umweg uber htpasswd, moeglichst mit PHP?

          Gruß,

          Dieter

          1. moin!

            ich weiss nicht, aber die struktur eines mit crypt unter linux erzeugten passwortes ist die selbe, wie eine passwort was mit crypt unter windows erzeugt wurde...

            gruß.
            roger.

            --
            Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
          2. Hi,

            Ich habe gerade ein Script in PHP in der Mache, das sich mit htaccess-Manipulationen befasst. Die Passwoerter fuer Linux lassen sich ja mit crypt() erzeugen. Unter Windows funktionieren, soviel ich weiss, auch Klartext-Passwoerter.

            Richtig.

            Die MD5-Implementierung von htpasswd ist ja eine spezielle, sodass man PHPs md5() nicht benutzen kann.

            Richtig.

            Gibt es einen Weg, verschluesselte, Windows-taugliche Passwoerter fuer ein AuthUserFile zu erzeugen, also ohne den Umweg uber htpasswd, moeglichst mit PHP?

            htpasswd über system() aufrufen?
            SHA wird auch noch vom Apache unterstützt, da hab ich aber keine Ahnung, wie das damit aussieht in PHP und ob der Apache das auf allen Systemen kann.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Hallo MudGuard,

              Unter Windows funktionieren, soviel ich weiss, auch Klartext-Passwoerter.

              Hat das eigentlich Nachteile, ausser dem sehr offensichtlichen, dass man sie mit einem Texteditor lesen kann?

              htpasswd über system() aufrufen?

              Hatte ich auch schon ueberlegt, ist in meinem speziellen Fall eher unguenstig.

              SHA wird auch noch vom Apache unterstützt, [..]

              Das werd ich mal recherchieren, bzw. testen

              PHP kennt jedenfalls sha1(), da sollte man dann schon weiterkommen.

              Danke fuer Deine Hilfe

              Dieter

              1. moin!

                Unter Windows funktionieren, soviel ich weiss, auch Klartext-Passwoerter.
                Hat das eigentlich Nachteile, ausser dem sehr offensichtlichen, dass man sie mit einem Texteditor lesen kann?

                naja, wenn man den seitentraffic mitloggt, kann man die passwörter lesen, da sie im klartext übertragen werden.

                gruß.
                roger.

                --
                Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
  3. moin!

    die probleme mit dem sch*** server reißen nicht ab! verdammt. jetzt hab ich festgestellt, das php nicht als apache- sondern als cgi-modul läuft. gibt es trotzdem eine möglichkeit den usernamen, der sich per htaccess-kontrolle anmeldet abzufragen?

    gruß.
    roger.

    --
    Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
    1. Moin!

      die probleme mit dem sch*** server reißen nicht ab! verdammt. jetzt hab ich festgestellt, das php nicht als apache- sondern als cgi-modul läuft. gibt es trotzdem eine möglichkeit den usernamen, der sich per htaccess-kontrolle anmeldet abzufragen?

      Nein. Wenn PHP als CGI-Modul läuft, kriegst du nur den durch Apache authentifizierten Benutzernamen als REMOTE_USER erfaßt - dazu muß aber irgendein Authentifizierungsmechanismus schon gelaufen sein, also im Zweifel das, was man unter ".htaccess-Passwortschutz" kennt - wobei mit dem richtigen Modul an dieser Stelle nicht nur eine simple Textdatei abgefragt werden kann (das wäre bei vielen Usern doch etwas zu performancefressend), sondern diese Daten können (mod_auth_mysql, mod_auth_pgsql) auch in Datenbanken drinstehen.

      - Sven Rautenberg