Andreas Korthaus: serverseitig Excel-Datei nach Upload erkennen

Beitrag lesen

Hallo!

Ich habe einen Upload über ein html-Formular geschrieben, und überlege jetzt, wie ich Mißbrauch berhindern kann. Ich konntrolliere die Datei folgendermaßen:

if (isset($_FILES['userfile']) &&
    (!$_FILES['userfile']['error']) &&
    ($_FILES['userfile']['type'] == "application/octet-stream") &&
    (substr($_FILES['userfile']['name'],-4) == ".xls")) {

move_uploaded_file($_FILES['userfile']['tmp_name'], $dateiname);

}
 else {
     echo "FEHLER";
  exit;
 }

Erste Fragen, "application/octet-stream", beaue ich mir damit keine Stolperfalle, vielleicht senden das nicht alle Browser?
Außerdem bringt das nicht so viel, wenn ich eine jpg-Datei hochlade und als .xls umbenenne, ist das dann auch "application/octet-stream".

OK, Dateiendung prüfen sollte ich auf alle Fälle, oder?
Wie wärs noch mit einer mindest und Maximalgröße über $_FILES['probe']['size']? Welche Werte würdet ihr empfehlen?

Was könnte man noch machen um zu verhindern das jemand irgendwelche "bösen" Scripte oder so hochläd?

Bin für jeden Tipp dankbar!

Grüße
Andreas