迅雷下载连接识别的方法与限制的实现
●摘要
随着迅雷支持的下载协议的增加,有越来越多的网民使用迅雷作为自己的下载工具。但迅雷使用率的增长也给不同的网站造成了不同程度的影响,带宽有限的小型网站受到的影响较为严重。
本文通过介绍和提出几个方法来限制迅雷对网站资源的大量占用,以帮助小型网站不再因迅雷的盗链致使流量被大量占用。●关键词
迅雷下载流量限制
第一章前言
1.必要性
小型网站一般所占有的网络带宽和服务器资源有限,不足以提供较大流量的下载服务。但一般小型网站也会根据自身的内容,提供一些相关的下载,其中有可能有较大的文件。因为小型网站的访问量不高,因此通过正常途径获取下载地址的用户进行的下载一般不会对小型网站造成太大影响。但小型网站所提供的下载地址一旦被迅雷收录,就有可能造成大量与此网站无关的用户直接下载这些小型网站的资源,超出了小型网站所能承受的流量,这就会对小型网站的正常运
行造成严重影响。
2.预期目的
通过使用本文介绍和提出的一系列技术手段,希望能识别部分由迅雷发起的HTTP请求,并对其实行拒绝或抛弃处理,同时尽量避免对正常用户的浏览和下载造成影响,以达到限制迅雷对网站资源的下载,减少由迅雷引起的网络带宽和服务器资源的浪费,保证网站稳定运行的目的。
第二章技术分析
1.请求识别
迅雷是一种不通过网页浏览这一环节就直接请求下载资源的下载工具。由于其跳过了网页浏览这一行环节,我们就可以通过一些手段将其与对网页进行过浏览操作的普通用户区分开来,从而识别出迅雷的请求。
另一方面,截止到5.7.3.389版本为止,迅雷所发送的用户代理(User-Agent)字符串一直没有变化,而这个用户代理字符串是一个干净的Windows XP系统所特有的。通过对每个请求所发送的用户代理字符串进行分析,也可以在一定的误差程度内识别出由迅雷发起的请求。
在FTP协议下,迅雷的表现方式也与其他FTP客户端有所不同,通过这些差别就可以识别出迅雷发起的FTP连接并拒绝。
2.限制请求
通过识别出迅雷的请求,就可以对该请求执行抛弃或拒绝操作,以限制迅雷对网站资源的下载。一般来说,对于通过程序读取保存在磁盘上的文件以后转发到客户端的下载方法,可以在程序中容易地实现对请求的限制。对于地址是直接公开的方法,也可以通过在更低的层次上编写服务器端扩展来对请求进行限制。
第三章HTTP方式下的具体实现
1.方法介绍及使用
这里介绍了几种在HTTP服务上防止迅雷下载的方法,并重点介绍用户代理判断方法。
1.用户代理判断方法
原理说明
对于每一个HTTP请求,客户端都会发送自己的用户代理,用户代理中一般包括了操作系统信息、浏览器信息以及其他的一些信息。由于不同的操作系统和浏览器版本的不同,不同的浏览器发送的用户代理也不尽相同。但是下载工具并不是浏览器,因此没有自己的浏览器信息。目前使用较为广泛的下载工具都默认发送了已经预定好的用户代理,这个用户代理一般仅带有操作系统和浏览器信息(多为IE),迅雷也是使用了这样的方法。
用户在使用电脑的过程中,常常会往电脑内安装一些软件或使用不同的浏览器,这样就有可能改变用户经常使用的浏览器所发送的用户代理。而与此同时,下载工具所发送的用户代理是不会变化的,这就造成了迅雷发送的用户代理的特殊性。
因为迅雷的用户代理是特殊的,我们就可以将其与其他软件发送的用户代理区分出来。通过观察,我们发现迅雷不同的版本最常使用的是以下4个用户代理(截止到2008年4月8日观察到的数据):
通过服务器端的编程,我们可以很容易地获取用户代理,将获得的用户代理与以上4个用户代理进行对比,就可以识别出迅雷的链接。
识别后的处理方法
在确定一个连接是由迅雷发起的以后,我们可以采取这样一些措施。
●断开此连接
IP屏蔽一段时间
●断开此连接,并将其
●重定向到提示页面
第一种方法是比较直接的,也是较为简单的。但如果迅雷不断地进行连接,对于一些下载量较大的资源来说,也会对服务器造成一定的压力。如果是这种情况,可以考虑使用第二种方法。
如果你还有别的考虑,也可以考虑使用第三种方法,或者是其他的这里没有提及的方法。
对正常用户的影响
虽然使用用户代理判断方法可以较为简单地识别出迅雷发起的连接,但这种方法存在的最大问题是会给小部分正常用户的正常访问操作造成影响。在这里说明了影响产生的原因,并结合实际分析影响的范围。
下载apache造成影响的原因
不排除有这样一些正常用户,他们使用的浏览器发送的用户代理和迅雷发送的用户代理相同。在这种情况下,使用这样一种方法来限制迅雷就会给这些用户带来影响。这种影响是无法完全避免的,但可以通过一些方法来减小对这些用户的影响。
影响范围
分析网站的访问日志,可以看到每一个HTTP请求所请求的文件和客户端发送的用户代理。通过分析网站的访问日志,就可以得出一个大概的影响范围。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论