dedlfix: Dateiupload, was tut move_uploaded_file() wirklich?

Beitrag lesen

Hi!

Wenn es nicht um den Inhalt der Files gehen sollte, sondern nur um den Namen, dann halte ich diese Funktionen für nutzlosen Overhead.

Es kommt mir so vor, als ob du ihren Sinn abstreitest, nur weil er dir verschlossen bleibt. Wenn du das genauer geklärt haben möchtest, solltest du auf einer PHP-Mailing-Liste (o.ä.) um Erklärung bitten. Oder du versuchst in die Historie abzutauchen und Dokumente zu finden, die dazu Diskussionen zur Zeit der Einführung der Funktion enthalten.

Denn das Array $_FILES sollte sicher sein und somit sollte zumindest der Name der Temporärdatei nicht manipuliert werden können, da dieser vom System kommt und das Array nur der jeweiligen Scriptinstanz zur Verfügung steht.

Woher nimmst du diese Sicherheit, bezweifelst aber andere Sicherheitseinrichtungen?

Hingegen könnte das File in einem gemeinsam genutzten Bereich liegen und auch das t-flag bei Linux schützt nicht gegen Manipulation des Files, sondern nur gegen Löschen/Verschieben oder Namensänderung.

Das ist nicht der Knackpunkt für die Funktionen is_uploaded_file()/move_uploaded_file(). Die Nichtnutzung von gemeinsamen Bereichen ist wegen der gemeinsamen Zugreifbarkeit an sich ein Sicherheitsrisiko. Das änderst du nicht durch Nutzung oder Nichtnutzung der beiden oder auch anderer Datei-Funktionen. Den Aspekt solltest du unabhängig davon betrachten.

Move_uploaded_file() war genau der Punkt, an dem ich im Wiki-Artikel jetzt hängengeblieben war. Ohne Kenntnis der Zusammenhänge mag ich das nicht gebetsmühlenartig wieder zur Bentutzung vorschlagen.

Was ist an den Alternativen besser?

PHP hatte schon andere Designfehler (magic_quotes, PHP_SELF, usw), die später zu weit verbreiteten Sicherheitslücken geführt haben.

Zumindest halfen die Design-Fehler Magic Quotes und Safe Mode allzu unbedarften Anwendern aus dem Gröbsten raus, auch wenn der Wissende sehr gut ohne sie auskommt, ja sie sogar in machen Situationen ungewolltes - aber kein unsicheres - Verhalten zeigen. Wenn is_uploaded_file() / move_uploaded_file() dem Anwender hier ebenfalls zumindest einen kleinen Nutzen und keinen Schaden bringen, sehe ich nicht, warum man sie nicht empfehlen sollte.

Lo!

0 78

Dateiupload

hannes
  • php
  1. 0
    dedlfix
    1. 0
      hannes
      1. 0
        Shadowcrow
      2. 0
        dedlfix
      3. 0
        Vinzenz Mai
  2. 0
    Der Martin
    1. 0
      hannes
      1. 0
        dedlfix
        1. 0
          hannes
          1. 0
            Shadowcrow
            1. 0
              hannes
              1. 0
                dedlfix
                1. 0
                  hannes
                  1. 0
                    dedlfix
                    1. 0
                      Shadowcrow
                    2. 0
                      Tom
                      1. 0
                        dedlfix
                        1. 0
                          hannes
                          1. 0
                            dedlfix
                            1. 0
                              hannes
                              1. 0
                                dedlfix
                                1. 0
                                  hannes
                                  1. 0
                                    dedlfix
                          2. 0
                            Der Martin
                            1. 0
                              hannes
                              1. 0
                                Shadowcrow
                                1. 0
                                  Shadowcrow
                                  1. 0
                                    hannes
                                    1. 0
                                      Tom
                              2. 0
                                Tom
                              3. 0
                                Der Martin
                                1. 0
                                  Shadowcrow
                                  1. 0
                                    Der Martin
                                    1. 0
                                      Shadowcrow
                                      1. 0
                                        hannes
                                        1. 0
                                          Tom
                                          1. 0
                                            hannes
                                          2. 0
                                            hannes
                                            1. 0
                                              Tom
                                              1. 0
                                                Tom
                                              2. 0
                                                hannes
                                                1. 0
                                                  Tom
                                                  1. 0
                                                    hannes
                                                    1. 0

                                                      Dateiupload und Typüberprüfung

                                                      Shadowcrow
                                                      1. 0
                                                        Tom
                              4. 2
                                ChrisB
                        2. 0
                          Tom
                          1. 0
                            dedlfix
                            1. 0
                              Tom
                              1. 0
                                dedlfix
                                1. 0
                                  Tom
                                  1. 0
                                    dedlfix
                                    1. 0
                                      Tom
                          2. 0
                            Der Martin
                            1. 0
                              Tom
                              1. 0
                                Der Martin
                                1. 0
                                  Tom
                            2. 0

                              Dateiupload, was tut move_uploaded_file() wirklich?

                              Tom
                              1. 0
                                dedlfix
                                1. 0
                                  Tom
                                  1. 0
                                    dedlfix
                                    1. 0
                                      Tom
                                      1. 0
                                        dedlfix
                                        1. 1

                                          Bin hetzt heftig beleidigt [... :-) ...]

                                          Tom
                                          • menschelei
                                          1. 0

                                            du doch nicht

                                            dedlfix
                              2. 0

                                Komme da nicht weiter...

                                Tom
                                1. 0
                                  Der Martin
                                  1. 0
                                    Tom
                  2. 0
                    Tom
          2. 0
            dedlfix
            1. 0
              Tom
  3. 0
    Felix Riesterer
    1. 2
      dedlfix
      1. 0
        Felix Riesterer
  4. 0
    Tom
    1. 0
      hannes
    2. 0
      hannes