Felix Riesterer: Wiki: Dateiupload mit PHP

Beitrag lesen

problematische Seite

Lieber Julius,

Ich überarbeite gerade in meinem Benutzernamensraum (noch unvollständig, teilweise nur Stichpunkte) den Wiki-Artikel zum Thema Datei Upload mit PHP.

vielen Dank für Dein Engagement! Auch ich hatte schon länger mit der Idee gespielt, diesen Artikel irgendwann einmal aufzusplitten, habe aber gerade ein viel zu großes Projekt an der Backe, um mich dem Wiki überhaupt zu widmen.

  • Man kann nur Bilder (JPEG, PNG und GIF) hochladen, diese werden auch mit mime_content_type überprüft (getimagesize bringt keinen Mehrwert, es wird explizit im Manual davon abgeraten, diese Funktion zur Überprüfung von Bildern zu verwenden).

Wenn man die FileInfo-Erweiterung nicht hat, wäre damit aber ein besserer Schutz gegeben, als überhaupt keiner. Aber ich habe natürlich keine Ahnung, wer auf diese Erweiterung heute verzichten muss. Eignet sich getimagesize nicht wenigstens als Fallback?

SVGs spare ich erst einmal aus, weil die zu riskant sind. Dafür gibt es validierende Libraries, nur erhöht das wieder die Komplexität des Ganzen.

Warum nicht das Thema "Überprüfung auf gültige Bilddatei" in ein eigenes Unterkapitel auslagern? Dann kann man darauf verlinken und dort ausführlicher die Thematik des MIME-Sniffing behandeln. Denn wenn man schon externe Libraries benötigt, dann aber gleich richtig zuschlagen und zeigen, dass man das tatsächlich tun sollte und wie am besten! Wenn das dann ein weiteres Zusatzkapitel Composer bedeutet, dann ist das auch nicht grundverkehrt.

  • Dateinamen werden zufällig erzeugt, man spart sich die ganzen Probleme mit Case-sensitivity, Zeichen oder ganzen Dateinamen mit spezieller Bedeutung.

Wie willst Du die Datenhaltung lösen, die den ursprünglich mitgelieferten Dateinamen mit dem zufällig erzeugten in Verbindung bringt?

Mir ist bewusst, dass dies eine ähnliche Diskussion wie mit dem Loginsystem Anno 2016 ist. Nur halte ich das Risiko hier für besser beherrschbar und irgendwo muss man auch mal erklären, wie man einen Dateiupload grundsätzlich sicher umsetzt.

Mach' Dir da mal keine Sorgen. Die Diskussion mit dem Login-Artikel haben wir letztlich dann doch noch in den Griff bekommen, nachdem wir hier ausreichend diskutiert haben. Du gehst genau den richtigen Weg, indem Du im Vorfeld schon die Debatte anstößt, um Konsens zu finden.

Und nun zuletzt meine Frage: Meint ihr, dass dieser Artikel ins Wiki passen würde? Ich habe Bedenken, dass er am Ende wie das Loginsystem damals entfernt wird und die Arbeit letztlich für die Katz war.

Nein, nix für die Katz, für das Wiki!

Liebe Grüße

Felix Riesterer

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