回答
类似rapidshare的网站没有任何访问您的浏览器/下载管理器的权限。他们根据您的IP地址找出有关您的服务器下载的信息。
我不认为你可以做任何可以有这种权限的网络应用程序。
你想防止什么?下载管理器本身并不是邪恶的。
你甚至怎么定义一个下载管理器?每个网页浏览器都有一个不同质量的集成下载管理器。
您应该尝试阻止下载管理者不喜欢的行为,而不是自己下载管理者。
- 可以使用验证码防止自动下载(但可能并不总是工作,惹恼用户)
- ,您可以通过允许每个IP只有一个下载防止多个并行下载。
我只是好奇他们是如何工作的。用户代理是检测它的一种可能的方法。 – ashwnacharya 2010-12-12 14:35:27
当您是服务器时,您可以收到一些关于访问您的客户端的有趣信息。
其中一个参数是告诉你“用户代理”,或简单地说是浏览器类型。
在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或独立客户端),并对它做出反应,比如阻止下载。
是的,用户代理是一个好主意。但如果我没有弄错,它可能会被欺骗。 – ashwnacharya 2010-12-12 14:35:58
我相信引用者(http://en.wikipedia.org/wiki/HTTP_referrer)可以作为另一个便宜的检查来查看下载是从哪里开始的。
大多数下载管理器还使用Accept-Header
HTTP标头,允许通过重置进行部分内容下载和重启。看到一些文档在这里:HTTP Status: 206 Partial Content and Range Requests
如果你的意思是防止可恢复和多连接下载你应该添加一个接受-范围:无头你响应。
在Asp.net或Asp.net MVC:
Response.AddHeader("Accept-Ranges", "none");
为了更多地了解这个看Accept-Ranges
- 1. 如何检测浏览器是否正在加载新页面
- 2. 如何检测浏览器是否正在加载
- 3. 我们如何检测或监视浏览器下载?
- 4. 在浏览器中下载文件
- 5. Grails下载zip文件(浏览器下载文件)
- 6. 如何在Linux下使用浏览器API下载文件?
- 7. 如何在没有servlet的下载路径下从浏览器下载文件
- 8. 如何检测用户何时开始在浏览器中下载文件?
- 9. PHP文件 - 下载而不是在浏览器中加载?
- 10. 如何浏览器下载文件(通过HTTP或FTP)
- 11. 模拟浏览器下载文件?
- 12. PHP浏览器 - 文件下载
- 13. asp.net浏览器文件下载
- 14. 跨浏览器下载.Bat文件
- 15. phpword通过浏览器下载文件
- 16. encodeURI文件下载 - 崩溃浏览器
- 17. Javascript - 通过网页浏览器下载正在下载的文件
- 18. 在页面加载时,mypic.jpg是否会被浏览器下载?
- 19. 如何在android网页浏览器上下载/收听下载
- 20. 强制浏览器下载
- 21. 下载管理器Android:下载完成
- 22. 如何强制浏览器下载文件,nginx的服务器
- 23. 告诉浏览器在Codeigniter中打开或下载文件
- 24. 下载文件,下载管理器的Android
- 25. Android让下载管理器一次下载一个文件?
- 26. 安卓下载管理器下载文件一次
- 27. 通过Android下载管理器下载大文件
- 28. Android的下载管理器说无法打开文件下载
- 29. 在浏览器中检测下载路径
- 30. 如何检查文件是否下载?
几乎每个文件共享网站,我知道有一个支持下载加速器付费版本。如果您尝试从类似rapidshare的网站下载文件,那么如果您恰好使用FlashGet之类的下载管理器,则会阻止发生下载。 – ashwnacharya 2010-12-12 14:34:44
这有点不同,他们检测代理访问url并允许根据请求访问。同样,如果下载用户不是高级会员,则他们会阻止来自同一ips的同时请求。 – crodjer 2010-12-12 14:39:35