peter: upload -> xml_parse / Sicherheit + Verständnisfrage

Hi,

ich möchte den Nutzern meiner Website die Möglichkeit geben, .gpx-Dateien hochzuladen.

Die sollen dann auf dem Server mit xml_parse weiterverarbeitet werden, um dann wieder im Browser angezeigt zu werden.
Dabei stellen sich mir folgende Fragen:

SICHERHEIT:

Ist die Weiterverarbeitung mit xml_parse grundsätzlich sicher oder muß ich da irgendwelche Vorkehrungen treffen (außer Begrenzung der maximalen Dateigröße).

GRUNDSÄTZLICHES VERSTÄNDNISPROBLEM:

Wenn die Datei hochgeladen wurde, liegt sie ja erstmal im Array $_FILES['....'].
Kann ich damit direkt weiterarbeiten oder muß ich die Datei erstmal mit copy() oder move_uploaded_file() irgendwo ablegen, um sie mit xml_parse  stückchenweise parsen zu können ?

gruß
peter

  1. Moin!

    GRUNDSÄTZLICHES VERSTÄNDNISPROBLEM:

    Wenn die Datei hochgeladen wurde, liegt sie ja erstmal im Array $_FILES['....'].

    Nein. Die Datei liegt in einem temporären Verzeichnis, in $_FILES steht nur der Pfad zu dieser Datei.

    Kann ich damit direkt weiterarbeiten oder muß ich die Datei erstmal mit copy() oder move_uploaded_file() irgendwo ablegen, um sie mit xml_parse  stückchenweise parsen zu können ?

    Am Skriptende wird die temporäre Datei gelöscht. Wenn du zu diesem Zeitpunkt alle aus der Datei zu entnehmenden Daten woanders gespeichert hast, muß die temporäre Datei ja nicht gespeichert werden.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Hi,

      Wenn die Datei hochgeladen wurde, liegt sie ja erstmal im Array $_FILES['....'].

      Nein. Die Datei liegt in einem temporären Verzeichnis, in $_FILES steht nur der Pfad zu dieser Datei.

      Verstanden.

      Am Skriptende wird die temporäre Datei gelöscht. Wenn du zu diesem Zeitpunkt alle aus der Datei zu entnehmenden Daten woanders gespeichert hast, muß die temporäre Datei ja nicht gespeichert werden.

      Was ist das Skriptende ?

      Das Ende meiner php-Datei oder das Ende eines mit <?php .... ?> definierten Blocks innerhalb meiner Datei oder nochwas anderes ?

      peter

      1. Moin!

        Was ist das Skriptende ?

        Das Ende der Codeausführung. Kurz bevor es zum der Ende der Bearbeitung des Requests durch den Webserver kommt.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Hi Sven,

          vielen Dank für deine Antworten.

          gruß
          peter