图片/软件防盗链技术的突破 Unknown 2008/11/26

| |

  常常在一些网站上下载某软件时,会提示“请不要盗链”之类的警告,然后就自动跳回该网站的首页上去了。至少我是经常碰到这种情况的,明明是从google上搜索到后链上去的,却提示我不要盗链,觉得很可笑,也很无奈。

  其实对策也很简单,临时关掉Norton Internet Security(简称为NIS),重新刷一遍这个页面,就能正常下载了。其中的原因是什么呢?我猜想有一种可能是该网站用了cookie认证。但是如果关掉NIS,只要打开一次这个页面,也能下载,说明这不是通过cookie验证的(对WEB/HTTP不太懂的朋友,其中的原因可能一下子听不太懂)。

  还有一种可能是什么呢?是HTTP_REFERRER(由于初期开发人员的拼写错误,这个词在一部分学科中仍被称作HTTP_REFERER。即,少了一个R)。中文可以称作“引用页”。即,验证你先前是从哪个页面上来到当前这个页面的。NIS里面是有这方面的拦截技术在里面的,所以HTTP_REFERRER信息在跳转时被NIS强行截掉了。于是造成了对方判断你是直接下载该软件,而不是通过先打开某网页,然后点击链接下载软件的做法。

  这是一些网站防盗链的做法,由此也看出是一种很失败的做法(对使用NIS的用户来说,非常麻烦,只能通过临时禁用NIS的方法解决)。

  再举一个例子:www.r-file.com。这是一个日本色情网站。比如,打开 http://www.r-file.com/free/view.php?ID=r233&P=0&N=01.jpg ,如果你打开这个网页,可以看到一张图片。右键点击一下,得到图片的URL为: http://www.r-file.com/free_photo/r233/sample/1/01.jpg 。但是,如果你按这个得到的图片URL重载一遍的话,你会得到一个出错的代码:Forbidden: You don't have permission to access /free_photo/r233/sample/1/01.jpg on this server. 匪夷所思吧?嘿嘿。其实这里面就是HTTP_REFERRER在搞鬼,对方网站开了HTTP_REFERRER验证处理。这也是图片下载防盗链的做法。

  下面谈谈如何突破这种防盗链技术。既然问题的根本原因已经找到了,对策也简单:发送HTTP_REFERRER。只可惜要实现这样的功能,一般的HTML/Javascript是办不到的。一、用PHP、Perl等专业的语言才可以达到。二、PHP、Perl之类的太专业,我们手头的一类软件也可以达到:FlashGet。迅雷之类的应该也可以。不过本人只支持FlashGet,毕竟FlashGet才是老牌的下载利器。

  启动Flashget,打开“新建下载任务”页面,“网址”栏里填入“http://www.r-file.com/free_photo/r233/sample/1/01.jpg”,哈哈,点击OK。图片就可以下载了。但是,你有没有注意到“新建下载任务”页面的第二行“引用”栏里(这就是设置HTTP_REFERRER的地方),什么也没设置,为什么就成功了呢?这个你只要看一下FlashGet的日志就明白了。

Wed Nov 26 20:34:24 2008 已连接.
Wed Nov 26 20:34:24 2008 GET /free_photo/r233/sample/1/01.jpg HTTP/1.1
Wed Nov 26 20:34:24 2008 Host: www.r-file.com
Wed Nov 26 20:34:24 2008 Accept: */*
Wed Nov 26 20:34:24 2008 Referer: http://www.r-file.com/free_photo/r233/sample/1
Wed Nov 26 20:34:24 2008 User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
Wed Nov 26 20:34:24 2008 Pragma: no-cache
Wed Nov 26 20:34:24 2008 Cache-Control: no-cache
Wed Nov 26 20:34:24 2008 Connection: close
Wed Nov 26 20:34:24 2008 HTTP/1.1 200 OK

  看到了吗?FlashGet有自动添加HTTP_REFERRER的功能。自动添加引用页的功能也可以取消,虽然几乎没人会这么做。设置位置在“选项”->“协议”->“HTTP”部分->“发送引用页”。这个设置是默认是打开的。

   另外提一下,将HTTP_REFERRER设置为http://www.r-file.com/free_photo/r233/sample/1和设置为http://www.r-file.com是相同的。不信你可以自己试试。这只证明访问该图片时是通过访问上述URL后才进行的,即都是来自www.r-file.com。这也是防盗链技术的来源。

   最后提一下,本站的图片及软件下载也都是防盗链的。不过我的博客上没啥特别的东西,别盯住我了。有兴趣研究一下www.r-file.com吧。哈哈。

请给这篇日志评个分吧~!

本文评分: 5.2/10 (49 votes)    提示:您还未对本文评分,您可以进行评分并发表您的意见!

加入收藏!

spyrise Email Homepage IP
2008/11/26 20:15
[ico36]嘿嘿,强!
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [注册]