контроль загрузки файла в C # для видео - PullRequest
7 голосов
/ 17 января 2012

Я разрабатываю веб-сайт, который будет загружать видеофайлы в ASP.NET. У меня такой вопрос: видеофайлы могут быть очень большими (то есть 3 ГБ), и я прочитал, что увеличение maxRequestLength в файле webconfig даст возможность хакерам атаковать сервер с большими запросами.

Я уже знаю о проверке клиента для защиты от вредоносных файлов, которые не являются предполагаемыми файлами, поэтому на данный момент это не проблема. У меня вопрос, является ли метод загрузки файлов правильным подходом для загрузки видеофайлов? Если нет, то есть ли лучший подход?

Ответы [ 3 ]

3 голосов
/ 17 января 2012

Для загрузки большого файла в asp.net я использовал "Brettle.Web.NeatUpload"

Вы можете получить его на http://neatupload.codeplex.com/

Я надеюсь, что это полезно для вас.

0 голосов
/ 17 января 2012

Причина, по которой следует беспокоиться об этой проблеме, заключается в том, что встроенная функциональность в среде dotNET для обработки выгрузки файлов в IIS в ASP.NET записана в кэш-памяти всего файла, выгружаемого в память, перед его передачей на диск. Следовательно, если вы разрешаете очень большие загрузки файлов, вы рискуете позволить кому-то выполнить атаку типа «отказ в обслуживании» на вашем сервере IIS, потому что все, что требуется, - это загрузка нескольких очень больших файлов одновременно, чтобы исчерпать доступную физическую память на сервере. сервер. Следовательно, ответом на это является либо написание собственного обработчика загрузки, который не кэширует весь загружаемый файл в память, либо использование одного из множества доступных программных компонентов, которые можно установить, и сделайте это за вас. Два других ответа указывают на пару. Вот еще один пример компонента, который я нашел для ASP.NET:

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

0 голосов
/ 17 января 2012

Я использую http://www.plupload.com/ в сочетании с частичной загрузкой внутри обработчика Ashx.На сервере я вставляю детали в amazon S3, чтобы на сервере никогда не было полного файла в памяти.прекрасно работает для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...