Giới hạn kích thước tệp tải lên và chuyển hướng người dùng đến trang lỗi nếu vượt quá giới hạn


9

Có thể chuyển hướng người dùng đến file too bigtrang tập tin

khi kích thước yêu cầu POST vượt quá giới hạn quy định?

Tôi biết về tùy chọn kích thước yêu cầu tối đa, nhưng nó chỉ cung cấp trang tĩnh không thể bị quá tải.

Tôi đang suy nghĩ để tạo ra một quy tắc viết lại

kích thước nội dung từ thân yêu cầu làm đầu vào và chuyển hướng đến trang lỗi

CẬP NHẬT

bây giờ chúng tôi sử dụng nginx làm front-end. Bất kỳ đề xuất mới?

Câu trả lời:


19

Bạn sẽ có thể làm điều này bằng cách sử dụng một cái gì đó như:

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
}

nhưng điều này sẽ không hoạt động với hầu hết các trình duyệt hiện đại - không may là chúng không thể xử lý đúng 413. Vì vậy, tôi e rằng không có giải pháp nào cho vấn đề này (tốt, trừ khi bạn có thể vá tất cả các trình duyệt hiện tại)
rvs

7
Bạn có thể thay đổi mã trạng thái thành bất cứ điều gì khác với error_page nếu bạn không thực sự muốn trả lại 413 cho khách hàng. error_page 413 = 403 /custompage.html; sẽ sử dụng 403, ví dụ.
kolbyjack

3

Đừng quên đặt post_max_sizeupload_max_filesizegiá trị tương ứng trong php.ini.


Chúng tôi không ở php.
jonny

0

Về bài đăng @quanta, bạn cũng có thể đặt giá trị thấp hơn trong php và sử dụng php để hiển thị lỗi và thực hiện chuyển hướng chính xác. Nó cũng có thể được thực hiện bằng các ngôn ngữ scripting khác :-)


Tôi đã không đề cập đến ngăn xếp phía máy chủ của chúng tôi. PHP <> Cả thế giới :)
jonny
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.