2012-01-17 37 views
7

Tôi đang thiết kế trang web sẽ tải lên tệp video trong ASP.NET. Câu hỏi tôi có là: các tệp video có thể rất lớn (tức là 3GB) và tôi đọc rằng việc tăng số maxRequestLength trong tệp webconfig sẽ tạo cơ hội cho tin tặc tấn công máy chủ với các yêu cầu lớn.kiểm soát tải lên tệp trong C# cho video

Tôi đã biết về xác thực ứng dụng khách để bảo vệ khỏi các tệp độc hại không phải là tệp dự định, do đó, đó không phải là mối quan tâm vào lúc này. Câu hỏi của tôi là nếu phương pháp tải lên tệp là phương pháp đúng để tải lên tệp video? Nếu không, có cách tiếp cận tốt hơn không?

+0

Bạn đã cân nhắc tải lên máy chủ khác? –

+0

Đồng ý! Hãy xem bài đăng trên blog này - http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx – adatapost

+0

@ DanielA.White Ý của bạn là gì đến một máy chủ khác? Tải tệp lên máy chủ mạng? Nó sẽ không phải là một kết nối ba cách cố gắng để lấy các tập tin từ người dùng đến một máy chủ web sau đó chuyển sang một số khác? có thể tôi không theo dõi bạn – Jake

Trả lời

0

Tôi sử dụng http://www.plupload.com/ kết hợp với tải lên chunked bên trong trình xử lý ashx. Trên máy chủ, tôi đẩy các bộ phận đến Amazon, vì vậy máy chủ không bao giờ có toàn bộ tệp trong bộ nhớ. hoạt động tốt cho tôi.

0

Lý do cần quan tâm về vấn đề này là chức năng dựng sẵn trong khuôn khổ dotNET để xử lý tải tệp lên IIS trong ASP.NET được ghi vào bộ nhớ cache toàn bộ tệp tải lên bộ nhớ trước khi truyền tệp ra đĩa. Do đó nếu bạn cho phép tải lên tệp rất lớn, bạn có nguy cơ cho phép ai đó thực hiện tấn công Từ chối dịch vụ trên máy chủ IIS của bạn vì tất cả những gì cần là một loạt các tệp tải lên rất lớn cùng một lúc để loại bỏ bộ nhớ vật lý sẵn có trên máy chủ. Do đó, câu trả lời cho điều đó là viết trình xử lý tải lên của riêng bạn mà không lưu toàn bộ tệp tải lên bộ nhớ hoặc sử dụng một trong nhiều thành phần phần mềm có sẵn có thể được cài đặt và thực hiện việc này cho bạn. Hai câu trả lời còn lại chỉ vào một cặp vợ chồng. Dưới đây là một thành phần ví dụ khác mà tôi đã tìm thấy cho ASP.NET:

http://www.easyalgo.com/eaupload.aspx

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