Julius: Wiki: Dateiupload mit PHP

Beitrag lesen

problematische Seite

Hallo TS,

Das Upload-Verzeichnis dient gewissermaßen als Sandbox: die Datei wird erstmal an eine Stelle geschoben, an der sie nicht viel Schaden anrichten kann.

Das gilt (im shared Hosting, Modul) nur, wenn das Uploadverzeichnis pro Domain getrennt geführt wird. Anderenfalls kann der Inhalt der Datei auch von Anderen geändert werden, solange sie dort liegt.

Hmm, und wenn das Sticky-Bit gesetzt und nur ich (bzw. mein mit meinen Benutzerrechten laufender PHP-Interpreter) die Datei lesen oder schreiben darf?

Es ist dann Aufgabe der Anwendung die Datei zu überprüfen (bspw. auf Mime-Type oder Viren) bevor sie aus der Sandbox an eine andere Stelle verschoben wird. Die normalen PHP Dateisystem-Funktionen haben ggf. keinen Zugriff auf das Upload-Verzeichnis, wenn es außerhalb des open_basedir-Verzeichnisbaums liegt. Deshalb braucht man move_uploaded_file als privilegierte Funktion.

Das kann ich jetzt leider nicht so schnell überprüfen. Du meinst also, dass man das upload_tmp_dir außerhalb des open_basedir-Bereiches und der DocumentRoot legen kann, und der Upload trotzdem funktioniert? Und move_uploaded_file() darf dann als einzige PHP-Dateifunktion (vermutlich nur lesend?) auf dieses Verzeichnis und das Directory dieses Verzeichnisses (schreibend, zum Löschen) zugreifen?

Aus der PHP-Doku:

move_uploaded_file() is both safe mode and open_basedir aware. However, restrictions are placed only on the destination path as to allow the moving of uploaded files in which filename may conflict with such restrictions. move_uploaded_file() ensures the safety of this operation by allowing only those files uploaded through PHP to be moved.

Gruß
Julius

3 52

Wiki: Dateiupload mit PHP

Julius
  • php
  • selfhtml-wiki
  • sicherheit
  1. 0
    dedlfix
    1. 0
      Matthias Scharwies
      1. 2
        Julius
    2. 3
      Julius
      1. 1
        TS
        1. 0
          1unitedpower
          1. 1
            Julius
            1. 0
              1unitedpower
              1. 0
                TS
                1. 0
                  1unitedpower
          2. 0
            robertroth
            1. 3
              Raketenquellsuchsystem
              1. 0

                Wiki: Dateiupload mit PHP (Verständlichere Ergänzung)

                Raketenquellsuchsystem
              2. 2
                robertroth
                1. 0
                  Raketenquellsuchsystem
                2. 1
                  Rolf B
          3. 1
            TS
            1. 0
              1unitedpower
              1. 1
                TS
                1. 0
                  1unitedpower
                2. 1
                  robertroth
                  • idee
                  • php
                  • sicherheit
            2. 1
              Julius
              1. 2
                TS
                1. 2
                  Julius
                  1. 0
                    TS
            3. -1
              Raketenstarter
              1. -1
                Raketenstarter
      2. 0
        dedlfix
  2. 1
    Gunnar Bittersmann
    • grafik
    • grafik
    • selfhtml-wiki
    1. 0
      Der Martin
      1. 0

        webp-Konverter <.->

        Raketenwilli
        1. 0
          Der Martin
          • grafik
          • grafik
          1. 0
            Raketenwilli
            • produktinfo
            1. 0
              Der Martin
              • humor
              • produktinfo
          2. 0
            Raketenwilli
    2. 2
      dedlfix
  3. 2
    Matthias Apsel
    1. 2
      Julius
  4. 2
    Felix Riesterer
    1. 4
      Julius
  5. 0
    1unitedpower
    1. 1
      Julius
  6. 2
    Julius
    1. 0
      TS
      1. 1
        Julius
        1. 0
          TS
          1. 0
            Tabellenkalk
            1. 0
              TS
              1. 0
                raketenquelltextleser
                1. 1
                  Julius
                  • php
                  • sicherheit
              2. 1
                Julius