被迅雷郁闷了一把 --zt

April 21, 2007 @ 7:02 pm · Filed under 互联网, 软件

前不久,一个朋友让我帮助看一下他的服务器。他的服务器上运行着一些静态网页,还有一个PHP的论坛程序。然而最近出现的问题是,网站的运行速度越来越慢,他怀疑是数据库太大,导致“周转不灵”。

我看了一下他的网站,所用的论坛是Discuz的一个旧版本。帖子数量和用户数量都在一万左右,并不算很多。在线人数一百多人,其中绝大多数都是访客,除搜索引擎的爬虫外,我很怀疑是被“暴力营销”之类的工具盯上了。“暴力营销”是网上一个臭名昭著的自动向论坛发送垃圾信息的程序,它可以自动顺序完成注册用户、发送垃圾广告信息等过程,甚至能识别部分简单的认证码。原来我建立的Class13.com/forum就曾被“暴力营销”软件加入了默认数据库,其带来的访问量至今依有增无减,丝毫不理会我早已经从ASP转向PHP的事实,仍在像没头苍蝇般不断访问/forum/reg.asp,/forum/post.asp等文件。

不过,如果仅仅是“暴力营销”导致论坛访问过慢,不能解释为什么静态页面也变慢了。为此我要来服务器管理员帐号,登进去查看Apache的日志。好家伙,6G大小的log,还以每秒几百KB的速度增长。tail -f 一下日志文件,新增访问信息刷刷地向前滚动。不过,怎么放眼望去,全是一个文件——lovetransfer.mp3。下载这个文件的IP来自全国各地,天南海北,无所不有。还有一个共同特点——使用的浏览器都是IE,且(几乎)全部没有referer。为什么一夜之间大家都开始直接下载这个文件了呢?

原来,这个服务器上有一个5M大小的“爱情呼叫转移”MP3文件,放在某个人的目录下面,也许是出于为了方便自己下载,或为别人传输的原因。然而,某天一个知道这地址的人用了“迅雷”这个软件下载这个文件。迅雷在下载一个文件时,会把这个文件的物理位置等信息传给迅雷的服务器。从此以后,地球人都知道这个文件了。从原理上分析发现,迅雷在下载文件时,可以伪装成正常的浏览器。即使有些网站采取了简单的“防盗链”措施,如要求在下载文件时提供来自本站的referer,迅雷仍能成功下载。很多网站的站长都知道迅雷这一盗链的特性,并对此深恶痛绝,缺毫无对策,最后只能删除文件。更可怕的是,迅雷这样做,似乎并没有违反任何法律法规,难怪它能够肆无忌惮。迅雷还有一种类似P2P的下载模式,可是迅雷损害的并不是最终用户的利益——用户使用迅雷相反能够得到“更好的用户体验”——尽管这是以泄露自己的隐私为代价的。随着迅雷的用户越来越多,网站的日子会越来越不好过。如果大家都把文件从自己服务器上删掉,迅雷才无法下载。问题是,不可能所有的人同时删掉,总有一些管理员的动作迟缓些,所以迅雷还是能照样钻空子。

删除了lovetransfer.mp3后的两三天内,仍然不断有人来访问这个文件——可惜都吃了404错误,每小时几万次。不过,服务器的响应速度明显快了许多。主要问题解决后,下一步就是解决“暴力营销”的次要问题。

对讯雷这样可耻的行为的限制,只能通过立法途径解决,而通过道德上的声讨是没有作用的。不过,我也比较怀疑立法者能不能理解这些技术问题。

No comments: