Dateiupload und safe_mode = On

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

  • Dateiupload und safe_mode = On

    Habe nach über zwei Jahren mal wieder mit Dateiuploads per Formular zu tun und stehe vor folgendem Problem.

    Der Hoster hat safe_mode auf On stehen. Ich bastel also ein Uploadformular und lade es mit FTP auf meinen Webspace hoch. Damit ist der Eigentümer der PHP-Datei der entsprechende FTP-User.

    Nun erstellt das Script einen Ordner. Und der Eigentümer ist dann "wwwrun". Also kann ich per Script die hochgeladene Datei nicht in diesen Ordner verschieben, da Script-Besitzer = FTP-User und Datei-Besitzer = wwwrun. chown ist ebenfalls nicht gestattet. Also wie bekomme ich zum Teufel die Upload-Datei in den Ordner?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

  • #2
    Hallo Peter,

    normalerweise kannst du per FTP zumindest die Berechtigungen ändern:

    Code:
    SITE chmod 775 [I]dirname[/I]
    SITE chmod 664 [I]filename[/I]
    Da wwwrun und dein FTP-User in den meisten Fällen in derselben Gruppe sind, müsste das so schon klappen. Wenn nicht, musst du halt 777/666 verwenden.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Zitat von AmicaNoctis Beitrag anzeigen
      Hallo Peter,

      normalerweise kannst du per FTP zumindest die Berechtigungen ändern:

      Code:
      SITE chmod 775 [I]dirname[/I]
      SITE chmod 664 [I]filename[/I]
      Da wwwrun und dein FTP-User in den meisten Fällen in derselben Gruppe sind, müsste das so schon klappen. Wenn nicht, musst du halt 777/666 verwenden.

      Gruß,

      Amica
      Ich möchte aber keinen Ordner per FTP erstellen oder damit die Rechte setzen. Bei einem mkdir ('ordner', 0777) wird zwar der Ordner erstellt, hat aber nur 755 gesetzt. Also kann ich nichts darein schreiben (move_uploaded_file) Im Moment funktioniert es nur, wenn ich den Ordner per FTP erstelle und da(!) die Rechte zum Beispiel auf 777 setze.

      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Ich versteh dein Problem nicht. Wenn du mit PHP einen Ordner erstellst, kannst du auch mit PHP Dateien da reinschreiben. Wenn du es mit FTP machst (ohne die Rechte zu setzen), kannst du nur mit FTP Dateien reinladen.

        Lesen kannst du in beiden Fällen, also lässt sich jede Datei zur Not per PHP kopieren und das Original dann per FTP löschen. Damit ist wwwrun dann der Owner der kopierten Datei.

        Vielleicht hilft es aber auch, einfach mal beim Provider nachzufragen, wie du das am besten lösen kannst.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Das Problem ist, dass ich die entsprechende PHP-Datei per FTP(!) auf den Webserver hochladen muss. Und sie damit zum FTP-Besitzer gehört. Wenn ich die Datei im Browser aufrufe, dann gehört alles, was diese Datei anstellt, dem Besitzer "wwwrun". Und das kann ich nicht ändern.

          Peter

          PS: Ich mache Schluss für heute. Ist ja WE. Danke dir trotzdem und hoffe noch auf eine Antwort.
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            ah ah, ich wette es geht hier um all-inkl. hosting? Ops, darf man das überhaupt sagen? Naja, soweit ich weiss konnte man damals in all-inkl. kas system das "wwwrun" rechte-problem mit einen knopf resetten. Danach ging das hochladen mit FTP auch, wie gesagt das war aber schon ewig her. Save_mode = On ist doof.

            "Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse, die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst."
            In Flames - Pinbal Map
            Becoming the Archetype - No Fall Too Far
            Pantera

            Kommentar

            Lädt...
            X