2012-12-19 41 views
13

Sử dụng .htaccess, có thể hạn chế giới hạn kích thước tải lên tệp php dựa trên loại tệp không? Ví dụ: giới hạn tải lên tối đa cho hình ảnh là 2 MB và giới hạn tải lên tối đa cho PDF và DOC là 10 MB.Cách hạn chế giới hạn kích thước tải lên tệp dựa trên loại tệp .htaccess

+0

Tôi không thực sự nghĩ bạn có thể, bạn có thể kiểm tra tệp sau khi tệp được tải lên nhưng không phải trước đó. – Catharsis

Trả lời

0

Bạn có thể thay đổi giới hạn kích thước và loại đặt cho phép nhưng tôi không tin rằng bạn có thể tham gia cả hai.

+0

Bạn có nguồn hoặc lý do cơ bản cho điều này không? –

2

Tôi sẽ sử dụng chỉ thị LimitRequestBody cho việc này. Tuy nhiên, để báo giá:

Triển khai phương thức PUT sẽ yêu cầu giá trị lớn nhất như bất kỳ đại diện nào máy chủ muốn chấp nhận tài nguyên đó.

Bạn có thể đặt điều này thành 10Mb để Apache cắt bất kỳ yêu cầu nào chắc chắn quá lớn, sau đó kiểm tra và lọc thêm trong tập lệnh của bạn. Chỉ thị này chủ yếu được sử dụng để ngăn chặn các cuộc tấn công từ chối dịch vụ. Nếu không có chỉ thị này, Apache sẽ sẵn sàng chấp nhận toàn bộ tệp trước khi nó đạt đến tập lệnh của bạn, vì vậy người dùng có thể tải lên các tệp 100Gb trước khi được thông báo rằng quá dài.

Chỉ thị này sẽ không xem xét nội dung yêu cầu, do đó bạn không thể lọc loại tệp với yêu cầu này.

-1

Một phương pháp giúp bảo vệ máy chủ của bạn khỏi các cuộc tấn công DOS liên quan đến việc giới hạn kích thước tối đa cho phép đối với các tệp tải lên. Ở đây, chúng tôi đang giới hạn kích thước tải lên tệp lên 10240000 byte, tương đương với khoảng 10 megabyte. Đối với quy tắc này, kích thước tệp được biểu thị bằng byte. Lưu ý: mã này chỉ hữu ích nếu bạn thực sự cho phép người dùng tải tệp lên trang web của bạn.

LimitRequestBody 10240000

+0

xin vui lòng u có thể giải thích lý do tại sao danh tiếng tiêu cực – KanzWebDev

Các vấn đề liên quan