Batasi ukuran file unggahan dan arahkan ulang pengguna ke halaman kesalahan jika batas melebihi

9

Apakah mungkin mengarahkan pengguna ke file too bighalaman file

ketika ukuran permintaan POST melebihi batas yang ditentukan?

Saya mengetahui tentang opsi ukuran permintaan maksimum, tetapi hanya memberikan halaman statis yang tidak dapat di-overload.

Saya berpikir untuk membuat aturan penulisan ulang yang diperlukan

ukuran konten dari badan permintaan sebagai input dan dialihkan ke halaman kesalahan

MEMPERBARUI

sekarang kita menggunakan nginx sebagai front-end. Ada saran baru?

Jonny
sumber

Jawaban:

19

Anda harus dapat melakukan ini menggunakan sesuatu seperti:

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
sumber
tetapi ini tidak akan bekerja dengan sebagian besar browser modern - sayangnya mereka tidak dapat menangani 413 dengan benar. Jadi, saya khawatir tidak ada solusi untuk masalah ini (well, kecuali Anda dapat menambal semua browser saat ini)
rvs
7
Anda dapat mengubah kode status menjadi hal lain dengan error_page jika Anda tidak ingin mengembalikan 413 ke klien. error_page 413 = 403 /custompage.html; akan menggunakan 403, misalnya.
kolbyjack
3

Jangan lupa untuk mengatur post_max_sizedan upload_max_filesizenilai yang sesuai di php.ini.

kuanta
sumber
Kami tidak di php.
jonny
0

Mengenai posting @quanta, Anda juga dapat menempatkan nilai yang lebih rendah di php dan menggunakan php untuk menampilkan kesalahan dan membuat pengalihan dengan benar. Dapat dibuat dalam bahasa skrip lain juga :-)

jflaflamme
sumber
Saya tidak menyebutkan tumpukan sisi server kami. PHP <> seluruh dunia :)
jonny