我很好奇诸如 rapidshare 之类的文件共享网站如何检测用户通过下载管理器下载文件。
如何启用 ASP.NET Web 应用程序以防止从下载管理器下载。
我很好奇诸如 rapidshare 之类的文件共享网站如何检测用户通过下载管理器下载文件。
如何启用 ASP.NET Web 应用程序以防止从下载管理器下载。
当您是服务器时,您可以收到有关访问您的客户端的一些有趣信息。
其中一个参数是告诉您“用户代理”,或者简单来说就是浏览器类型。
在 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 或独立客户端),并对其做出反应,例如阻止下载。
大多数下载管理器还使用Accept-Header
HTTP 标头,允许部分内容下载并通过重置重新启动。在此处查看一些文档:HTTP 状态:206 部分内容和范围请求
我相信referrer(http://en.wikipedia.org/wiki/HTTP_referrer)可以用作另一种廉价的检查来查看下载的开始位置。
rapidshare 等网站无法访问您的浏览器/下载管理器。他们根据您的 IP 地址从他们的服务器上找到有关您下载的信息。
我认为您不能制作任何具有此类权限的网络应用程序。
你想防止什么?下载管理器本身并不邪恶。
您甚至如何定义下载管理器?每个网络浏览器都有一个不同质量的集成下载管理器。
您应该尽量防止在下载管理器中出现您不喜欢的行为,而不是下载管理器本身。
如果您的意思是阻止可恢复和多连接下载,您应该在您的response中添加一个Accept-Ranges:none标头。
在 Asp.net 或 Asp.net MVC 中:
Response.AddHeader("Accept-Ranges", "none");
要了解更多信息,请参阅接受范围