heinetz: File Upload und Sicherheit

Beitrag lesen

Tach!

Gut, das sind ne Menge Daten. [...] Technisch bedeutet das nur, dass die entsprechenden Restriktionen in der php.ini für die Anforderung angepasst werden muss.

Oder ?

Wie schon gemutmaßt, auch der Webserver hat Begrenzungen. Je nach Konfiguration auch mehrere. Beispielsweise hat der Apache auf alle Fälle eine und wenn PHP als FCGI eingebunden ist, dann hat auch das FCGI-Progamm eine.

Das hatte ich nicht erwartet! Ich habe aber schon einiges gefunden:

FcgidMaxRequestLen(PHP-FCGI), FcgidBusyTimeout(PHP-FCGI), LimitRequestBody(Apache)

… was nicht mal alles sein muss. Nun soll das Ganze nicht auf einem shared hosting Webserver umgesetzt werden und der Kunde hat eine eigene IT-Abteilung. Die notwendigen Konfigurationen könnten also theoretisch vorgenommen werden … theoretisch.

Die Gesamtgröße spielt keine Rolle mehr, wenn jede Datei mit ihrem eigenem Request verarbeitet wird.

Diesen Satz weiss ich nicht so richtig zu deuten. Klar, für 10 HTTP-Uploads á 100MB werden die Konfigurationen für 100MB vorgenommen werden müssen und nicht für 10*100MB. Meinst Du damit, für 100MB werden keine aussergewöhnlichen Anpassungen der Konfiguration vorgenommen werden müssen?

Vielmehr ist zu überlegen, ob ich dafür sorgen kann, dass dieses Verschieben nach dem Upload durchgeführt wird, ohne dass der User darauf warten muss.

Wenn es nur um den move_uploaded_file() geht, der sollte nicht ins Gewicht fallen, wenn die Verschiebung innerhalb der Partition bleibt. Ansonsten wäre ein Background-Prozess angebracht, beispielsweise ein Cronjob, der die Aufgaben erledigt, die in eine Queue eingereiht wurden.

Ich hatte ja ursprünglich geplant, die Files nach dem Upload und einer Validierung direkt im upload_tmp_dir per ftp_put() auf einen anderen Rechner zu verschieben um zu vermeiden, dass ich sie Files noch irgendwo zwischenlagern muss. Wenn Du sagst, ein Background-Prozess wäre angebracht, nehme ich das so an. Nur zum Verständnis: Ein Cronjob würde es erforderlich machen, die hochgeladenen Files aus dem upload_tmp_dir woanders hinzukopieren, oder? Denn nachdem das Script, dass den Multipart-Request en Empfang nimmt, sind abgearbeitet ist, werden sie irgendwann aus dem uolaod_tmp_dir gelöscht.

danke und gruss, heinetz