file() - Rechte -

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • file() - Rechte -

    Hi,

    ich habe eine Datei: db.csv, die sich in dem Ordner: /Test/DB befindet. Der Ordner ist durch .htaccess geschütz, so dass kein unerlaubter Benutzer darauf zugreifen kann.
    Nun zum Problem: Diese Datei will ich durch ein PHP-Script (auslesen.php) auslesen. Das Script befindet sich im Ordener /Test. Dies ist aber nun nicht mehr Möglich, da das Script (Funktion) keine Berechtigung besitzt, die db.csv auszulesen. Siehe Warnung:

    PHP-Code:
    Warningfile(/DB/db.csv): failed to open streamOperation not permitted in .../auslesen.php on line 2 
    Die Funktion (on line 2) aus dem script, mit der ich die Datein auslese, ist:
    PHP-Code:
    $array_f file("/DB/db.csv"); 
    Ich hoffe ihr könnt mir weiter helfen, wie ich diese Datei nun auslesen kann. Bin auch für andere Lösungen offen. Mir gehts einfach nur darum, dass die DB durch unerlaubten Zugriff geschützt ist und nur das Script diese auslesen darf.

    Für eure Hilfe schon mal vielen Dank im vorraus,

    Gruß Fabian!

  • #2
    Probiers mal mit dem kompletten http:// Pfad und dann

    http://usernameasswort@meinedomain.de/db/datei.csv

    Ich weiß nicht, ob es evtl. auch nur mit userw@/db/datei.csv funktioniert.
    Martin Bauer

    bauer-martin.com | spiele-romane.de | gaming2.net

    Kommentar


    • #3
      Re: file() - Rechte -

      Original geschrieben von envision-me
      Bin auch für andere Lösungen offen.
      leg die daten oberhalb des webroots ab.

      ansonsten:
      nimm mal den absoluten pfad. eigentlich dürfte die htaccess bei serverseitigen-zugriffen nicht greifen (afaik).
      Kissolino.com

      Kommentar


      • #4
        Re: Re: file() - Rechte -

        Original geschrieben von Wurzel

        ansonsten:
        nimm mal den absoluten pfad. eigentlich dürfte die htaccess bei serverseitigen-zugriffen nicht greifen (afaik).
        So, jetzt bin ich verwirrt, irgendwie klappt es jetzt, ohne das ich Benutzername:PW vor dem Pfad hängen muss, oder den absoluten Pfad verwenden muss.

        Ich lese die Datei jetzt so aus:
        PHP-Code:
        $array_f file("./DB/db.csv"); 
        Wenn ich die Datei so auslese, klappt es nicht:
        PHP-Code:
        $array_f file("/DB/db.csv"); 
        Dann kommen diese Fehlermeldungen:
        PHP-Code:
        Warningfile(): open_basedir restriction in effectFile(/DB/db.csvis not within the allowed path(s): (Pfadin .../auslesen.php on line 2

        Warning
        file(/DB/db.csv): failed to open streamOperation not permitted in .../auslesen.php on line 2 

        Ok, dann nochmal danke an die anderen, die mir versucht haben zu helfen. Zur Info, das hier:

        PHP-Code:
        $array_f file("http://username:PW@meinedomain.de/DB/db.csv"); 
        hat nicht geklappt. Bis dann!

        Kommentar


        • #5
          Du benutzt also den relativen Verzeichnisspfad. Bei Zugriffen über das Verzeichniss greift keine .htaccess Datei, da die allein vom Apache ausgewertet wird. Wenn du auf "/blaa/blub/datei" zugreifen willst ist es sehr klar, warum da ein Fehler kommt. Das Verzeichniss blaa wird wahrscheinlich nicht im Wurzelverzeichniss existieren...

          . = Aktuelles Verzeichniss
          .. = Übergeordnetes Verzeichniss
          / = wurzelVerzeichniss
          ../wurst = Datei 'wurst' im übergeordneten Verzeichniss
          /wurst = Datei 'wurst' im WurzelVerzeichniss (root directory) des Dateisystems

          http://... = WebAdresse
          http://bla.de/ = DocumentRoot des Webservers (zB: /var/www)
          http://bla.de/wurst/index.html = 'index.html' im Verzeichniss 'wurst' im Document Root des Webserver. (also /var/www/wurst/index.html)

          Man möge zwischen Zugriffen von "aussen" (Apache) und Zugriffen auf das Dateisystem unterscheiden

          Kommentar


          • #6
            Vielen Dank für deine kleine Nachhilfe. Jetzt hab ich es verstanden!

            Kommentar


            • #7
              Achso, dazu kommt noch, das es deinem PHP nicht erlaubt ist auf '/' zuzugreifen.
              Warning: file(): open_basedir restriction in effect. File(/DB/db.csv) is not within the allowed path(s): (Pfad) in .../auslesen.php on line 2

              Kommentar

              Lädt...
              X