Мне любопытно, как сайты обмена файлами, такие как rapidshare, обнаруживают пользователей, загружающих файлы через менеджеры загрузки.
Как включить веб-приложение ASP.NET, чтобы предотвратить загрузку из диспетчера загрузки.
Мне любопытно, как сайты обмена файлами, такие как rapidshare, обнаруживают пользователей, загружающих файлы через менеджеры загрузки.
Как включить веб-приложение ASP.NET, чтобы предотвратить загрузку из диспетчера загрузки.
Когда вы являетесь сервером, вы можете получать интересную информацию о клиенте, который обращается к вам.
Один из параметров сообщает вам «User Agent», или, проще говоря, тип браузера.
В PHP это массив $_SERVER ( http://php.net/manual/en/reserved.variables.server.php ).
Я думаю, что в Dot Net это часть класса HttpRequest ( http://msdn.microsoft.com/en-us/library/system.web.httprequest.aspx ).
В режиме реального времени вы можете «спросить» эти параметры о типе клиента (IE, Firefox или независимый клиент) и отреагировать на это, например, запретив загрузку.
Что вы хотите предотвратить? Менеджер загрузок сам по себе не зло.
Как вообще определить менеджер загрузок? Каждый веб-браузер имеет встроенный менеджер загрузок разного качества.
Вы должны попытаться предотвратить поведение, которое вам не нравится в менеджерах загрузки, а не в самих менеджерах загрузки.
Такие сайты, как rapidshare, не имеют доступа к вашим браузерам/менеджерам загрузки. Они узнают информацию о ваших загрузках со своего сервера по вашему IP-адресу.
Я не думаю, что вы можете сделать какое-либо веб-приложение, которое может иметь такие разрешения.
Я считаю, что можно использовать реферер ( http://en.wikipedia.org/wiki/HTTP_referrer ) как еще одна дешевая проверка, чтобы увидеть, где инициируется загрузка.
Большинство менеджеров загрузок также используют HTTP-заголовок Accept-Header
, позволяющий загружать частичный контент и перезапускать его после перезагрузки. См. некоторые документы здесь: Статус HTTP: 206 частичных запросов содержимого и диапазона а>
если вы имеете в виду предотвращение возобновляемых загрузок и загрузок с несколькими подключениями, вы должны добавить заголовок Accept-Ranges:none к своему ответу.
В Asp.net или Asp.net MVC:
Response.AddHeader("Accept-Ranges", "none");
Чтобы узнать больше об этом, см. раздел Accept-Range.