Begrenzen Sie die Größe der Upload-Datei und leiten Sie den Benutzer zur Fehlerseite um, wenn das Limit überschritten wird

9

Ist es möglich, Redirect Benutzer Datei file too bigSeite

Wenn die Größe der POST-Anforderung den angegebenen Grenzwert überschreitet?

Mir ist die Option für die maximale Anforderungsgröße bekannt, aber sie enthält nur statische Seiten, die nicht überladen werden können.

Ich denke darüber nach, eine Umschreiberegel zu erstellen, die es braucht

Inhaltsgröße vom Anforderungshauptteil als Eingabe und Weiterleitung zur Fehlerseite

AKTUALISIEREN

Jetzt verwenden wir Nginx als Frontend. Irgendwelche neuen Vorschläge?

jonny
quelle

Antworten:

19

Sie sollten dazu in der Lage sein:

server {
  server_name example.com;

  client_max_body_size 10m; # or whatever size limit you want
  error_page 413 /custompage.html; # you can also use a named location here if you like
}
Kolbyjack
quelle
Dies funktioniert jedoch mit den meisten modernen Browsern nicht - leider können sie mit 413 nicht richtig umgehen. Ich fürchte, es gibt keine Lösung für dieses Problem (
naja
7
Sie können den Statuscode mit error_page in einen anderen Code ändern, wenn Sie 413 nicht tatsächlich an den Client zurückgeben möchten. error_page 413 = 403 /custompage.html; wird zum Beispiel 403 verwenden.
Kolbyjack
3

Vergessen Sie nicht, Satz post_max_sizeund upload_max_filesizeentsprechenden Wert in php.ini.

Quanten
quelle
Wir sind nicht bei PHP.
Jonny
0

In Bezug auf @ quanta post können Sie auch einen niedrigeren Wert in PHP eingeben und PHP verwenden, um den Fehler anzuzeigen und die Umleitung korrekt durchzuführen. Es kann auch in anderen Skriptsprachen erstellt werden :-)

jflaflamme
quelle
Ich habe unseren serverseitigen Stack nicht erwähnt. PHP <> ganze Welt :)
Jonny