Bei den aktuellen Arbeiten an einer Seite stieß ich auf folgendes Problem:
Beim Upload von Dateien soll eine maximale Dateigröße nicht überschritten werden.
Dazu fielen mir mehrere Möglichkeiten ein um diesen Check zu realisieren.
- Per Javascript die Dateigröße checken, was aber viel zu unsicher ist und leicht umgangen werden kann.
- Per PHP/Ruby/... die Größe der hochgeladenen Datei prüfen - Da die Datei bereits hochgeladen wurde hätte man dies auch gleich bleiben lassen können.
- Dem Webserver eine maximale POST-Size mitgeben, bei Überschreitung macht dieser dann einen 3XXer Redirect oder zeigt eine Fehlerseite an.
Da die ersten beiden Fälle keinen Sinn machen oder zu Fehleranfällig sind , hab ich den letzten Ansatz weiter verfolgt und musste dabei folgendes feststellen:
Keiner der getesteten Browser hat sich während eines POST File Uploads dazwischenreden lassen.
Den Server habe ich einen 302 Header an die Browser senden lassen, während diese am Hochladen waren. FF und Opera haben stur Ihre "Connection Resettet" Fehlermeldung gezeigt und sich nicht um den 302er Haeder gekümmert.
Doch einzig Opera hat, beim, in dieser Situation, Standardkonformen 413er Header eine vom Server gesendete Seite angezeigt.
Diese Erkentnisse lassen mich jetzt die Maximale POSTsize auf ein relativ hohen Wert einstellen, der hoffentlich von nur recht wenigen Nutzern wirklich jeh überboten wird.