PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : upload zu großer Dateien verhindern


PiCiJi
24.09.2003, 11:03:21
Hi,

bastle gerade ein upload script:

Es dürfen nicht mehr als 150 kb hochgeladen werden.

if($file_size <= 153600) ... else Fehler

Das klappt auch wunderbar, z.b. wenn ich 160 k versuche hochzuladen, kommt die Fehlermeldung.

Versuche ich jedoch ne Datei von 12 MB hochzuladen, wird er nie fertig.

Gibt es die Möglichkeit einen timeout zu integrieren?

set_time_limit(60); funzt nicht

Ich gehe mal davon aus, das er sich solange im Zustand post des Formulars befindet bis die 12 MB gesendet sind und erst dann erkennt das 12 Mb zuviel sind.

Hat einer ne Idee?

Jürg
25.09.2003, 22:47:31
Dem ist schon so! Das Selbe habe ich auch schon festgestellt. Er schaufelt hinauf, bis er feststellt, dass es nun zuviel ist. Er dann erfolgt der Abbruch.
Bei 12 MB geht das mit Analog-Modem gut und gerne eine Stunde!

Gweilo
26.09.2003, 00:56:52
versuch mal das hier:
<input name="userfile" type="file" maxlength="153600" />

Weiss nicht ob's bereits beim versenden überprüft, aber einen Versuch ist's wert.

Jürg
26.09.2003, 12:55:50
Ich hab das mit maxlength versucht, geht nicht.

PiCiJi
26.09.2003, 16:12:16
stimmt das mit max length funzt nicht und ist zudem noch unsicher, da es auf Client site festgelegt wird.

naja funzt schon aber das Prob bleibt das Gleiche.

lädt man z.b. ein Bild von mehr als maxlength hoch, tritt bei meiner php if anweisung schon ein else Fall auf wo es nur darum geht, herauszufinden ob das Bild auch ein Bild ist.

Ich habe mich diesbezüglich telefonisch mit meinem zukünftigen Web Space Anbieter unterhalten. Er meint das das Server seitig so geregelt ist, das ein gewisser upload wert nicht überschritten wird.
Ich habe versucht meinen Apache umzukonfigurieren mit den infos aus dem Netz. Hat leider nichts gebracht. siehe limit request body

Ich lass mich jetzt einfach überraschen, wie der Apache meines Anbieters mit solchen Attacken umgeht. Eigentlich müsste es da ne Möglichkeit geben.

Vielleicht kennt jemand hier im Forum einen Weg den Apachen vor so einem Missbrauch zu schützen?

Ben20
26.09.2003, 18:02:19
Du kannst die Maximale Uploadgröße in der php.ini verändern.

Gweilo
26.09.2003, 18:10:34
aber dann ist das problem nicht behoben, nämlich, dass er hochlädt, auch wenn die Datei zu gross ist.

Im Übrigen war mein HTML Vorschlag als zusatz zur PHP abfrage gedacht gewesen. Aber der funktionniert ja anscheinend auch nicht, wie er soll.

Ich glaube dieses Problem lässt sich gar nicht lösen. hab nämlich auch mal versucht es zu lösen, aber hab nichts herausgefunden...

Ben20
26.09.2003, 18:58:56
Ich glaube dieses Problem lässt sich gar nicht lösen


Das trifft den Nagel auf den Kopf. Das lässt sich nicht lösen, da die PHP Seite erst nach dem Upload aufgerufen wird und folglich nix mitbekommt, bis die Datei da ist.

PiCiJi
27.09.2003, 11:28:57
ja schon @Ben20 PHP kann es nicht mitbekommen, aber der Apache sollte das schon irgendwie hinbekommen. Wenn nicht, würde wohl kaum ein Webspace Anbieter ne upload Möglichkeit anbieten.

Ben20
27.09.2003, 14:37:36
Da ist was wahres dran! In der httpd.conf von meinem Server habe ich jedoch nichts entsprechendes gefunden. Vielleicht bei http://httpd.apache.org

Fuchs
29.09.2003, 15:26:51
Es waere warscheinlich mit Streams moeglich dass er dann sofort abbricht, aber als Otto Normal User auf einem Shared Server hat man da keine Chance.