Manfred Dessel: Probleme mit .htaccess und .htpasswd

Hallo zusammen!

Ich habe folgendes Problem. Ich habe auf einem Confixx-WebServer einen
Webspeicher mit PHP und Mysql Funktion gemietet.
Zum probieren habe ich eine Startdatei index.php erstellt und eine Datei
ausgabe.php, die im Verzeichnis kunde01 liegt und von der index.php aufgerufen
wird.Soweit, so gut. Alles funktioniert noch.
Jetzt wollte ich dafür sorgen, dass das Verzeichnis kunde01 mit einem Password-Schutz versehen wird.
Dazu habe ich die beiden untenbeschriebenen Dateien .htaccess und .htpasswd wie unten beschrieben
angelegt.
Da ich als User ben01 (Den Benutzernamenamen habe ich hier geändert) mit dem entsprechenden
Password in das FTP Menü gelange habe ich zunächst diesen user mit in die Datei aufgenommen.

Diese beiden Dateien habe ich dann in das Verzeichnis kunde01 gespeichert.
Danach hatte ich weder Zugriff auf die beiden Dateienn .htaccess und .htpasswd
(Sind nur noch über die Rechte des root -Systemadministrators zu bearbeiten) noch habe ich
einen Zugriff auf die Datei ausgabe.php.

Normalerweise müsste doch automatisch eine Login-Maske erscheinen, in der ich zumindestens mit dem
User ben01 + Password einloggen könnte.
Kann mir irgend jemand erklären, was ich falsch mache?
Über eine Antword würde ich mich sehr freuen.

Gruss M.Dessel

Verzeichnisstruktur auf dem Web-Server

files    Ordner
html    Ordner
--cig-bin   Ordner
--kunde01   Ordner
  -- .htaccess   Datei
  -- .htpasswd   Datei
  -- ausgabe.php  Diese Datei soll geschützt werden.
--index.php   Startseite
log    Ordner
phptmp    Ordner

.htaccess

AuthUserFile /html/kunde01/.htpasswd
AuthName kunden
AuthType Basic
<Limit GET>
require user ben01
</Limit>

.htpasswd

ben01:abcdefg

  1. Hi!

    .htpasswd
    ben01:abcdefg

    Versuch mal, das Passwort zu verschlüsseln.

    Gruß

    Martin

    1. Vielen Dank für Deien Hilfe, aber hat leider nicht zum Erfolg geführt.

      Gruss M.Dessel

      1. Hi,
        welches Betriebssystem liegt auf dem server? hast du dir http://de.selfhtml.org/servercgi/server/htaccess.htm
        schonmal durchgelesen?

        MfG

        1. Hi,
          soweit ich weiss, liegt da Linux oder so was, da zwischen gross und kleinschreibung unterschieden wird.

          Gruss M.Dessel

          1. Hi,
            noch eine Ergaenzung der Server laeuft unter

            Apache/2.0.48 (RedHat 9/Server4You)

            Gruss M.Dessel

  2. Lieber Manfred,

    AuthUserFile /html/kunde01/.htpasswd

    dieser Pfad ist nicht absolut! er beginnt erst bei /html/, was aber ein Unterordner innerhalb Deines Webaccounts ist! Finde den root-Level Deines Accounts heraus, passe den oben monierten Pfad an - dann sollte es klappen.

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    1. Hallo Felix,
      vielen Dank fuer den Hinweis.
      Wie finde ich denn den kompletten Pfad heraus?. Ich habe leider keine root-Rechte um den kompletten Pfad zu sehen.

      Gruss Manfred

      1. Lieber Manfred,

        Wie finde ich denn den kompletten Pfad heraus?. Ich habe leider keine root-Rechte um den kompletten Pfad zu sehen.

        -> Provider fragen!

        Liebe Grüße aus Ellwangen,

        Felix Riesterer.

        1. Hallo Felix

          Wie finde ich denn den kompletten Pfad heraus?. Ich habe leider keine root-Rechte um den kompletten Pfad zu sehen.
          -> Provider fragen!

          oder vorher den Webserver:
          phpinfo(), falls vom Provider erlaubt, kann einige Informationen dazu ausspucken,
          unter anderem der Inhalt von http://www.php.net/manual/de/reserved.variables.php#reserved.variables.server@$_SERVER,
          z.B. $_SERVER['PATH_TRANSLATED'].

          Freundliche Grüße

          Vinzenz

          1. Lieber Vinzenz,

            unter anderem der Inhalt von http://www.php.net/manual/de/reserved.variables.php#reserved.variables.server@$_SERVER,
            z.B. $_SERVER['PATH_TRANSLATED'].

            Vielen Dank für diesen Denkanstoß! Genau das habe ich vor der Beantwortung oben auch getan. Dabei habe ich aber festgestellt, dass der in meinen .htaccess-Dateien verwendete Pfad ein völlig anderer ist als der, den die Variable $_SERVER['PATH_TRANSLATED'] in meiner phpinfo() angibt! Daher bin ich davon ausgegangen, dass diese Angabe nicht hilft - ja mehr noch: Der von mir (erfolgreich) verwendete Pfad taucht in der Ausgabe von phpinfo() nirgends auf!

            Ich hatte mir den von mir verwendeten Pfad in einer vorhandenen .htaccess abgeschaut, die mit einem vom Provider zur Verfügung gestellten Script (Sitecontrol) erzeugt wurde.

            Daher habe ich verworfen, über phpinfo() einen brauchbaren Pfad in Erfahrung zu bringen und geraten, den Provider zu fragen...

            Liebe Grüße aus Ellwangen,

            Felix Riesterer.

            1. Hallo,

              was ich völlig vergessen hatte:
              Meiner Meinung nach sollte man bei der Verwendung von http-Authentication eine User/Passwortdatei außerhalb der Documentroot des Webservers unterbringen. Natürlich nur, sofern man darauf Zugriff hat.

              Freundliche Grüße

              Vinzenz

  3. Hallo zusammen,

    ich habe den Pfad herausgefunden und bin auch schon ein bischen weiter gekommen.
    Zumindest kommt jetzt die Anmeldemaske. Gebe ich dort meinen usernamen ein und bestätige das mit unter Crypt auf der SELFHTML-Seite verschlüsselte Password, so wird mir der Zugang verweigert.
    Hat noch jemand ne Idee wo das wieder herkommt?

    Gruss Manfred

    1. Hallo Manfred

      Zumindest kommt jetzt die Anmeldemaske. Gebe ich dort meinen usernamen ein und bestätige das mit unter Crypt auf der SELFHTML-Seite verschlüsselte Password, so wird mir der Zugang verweigert.
      Hat noch jemand ne Idee wo das wieder herkommt?

      Bei allen Webservern, bei denen mir http-Authentication zur Verfügung stand, genügte crypt-Verschlüsselung nicht, md5 wurde hingegen akzeptiert.

      Lies bitte dazu dieses Posting von Christian Seiler.

      Freundliche Grüße

      Vinzenz

      1. Lieber Manfred,

        so habe ich in PHP meine Passwörter verschlüsselt:

        function verschluesseln($passwort)  
        {  
        mt_srand((double)microtime()*1000000); // Zufallszahl erzeugen  
        $zufallszahl = substr(htmlspecialchars(mt_rand()), 4, 2);  
        $passwort = crypt($passwort, $zufallszahl);  
        return $passwort;  
        }
        

        Liebe Grüße aus Ellwangen,

        Felix Riesterer.