web developer tips (34):在IIS7.0使用网址重写防止盗链

原文地址:How to stop hot-linking from your site using URL Rewrite in IIS 7.0

一个热链直接链接到网站文件(图片,视频等),例如使用一个<img>标签显示一个任何人都可以在你网站发现的jpge图片,这也可以称之为盗链,当有人浏览这个网站的时候,将使用使用你的网站的带宽来显示JPEG图片。

如果在你的网站用下面这个具有版权的图片http://www.contoso.com/img1.jpg,将会被保护防止热链

welcome

使用IIS7.0 的网址重写模块(URL Rewrite module )可以实现很简单的实现这个目的。让我告诉你如果通过IIS管理器来做到这一点。打开IIS管理器,选择你的网站(本例是 Contoso.com ),在“功能视图”单击“URL Rewrite”,然后单击“add rules...”,在“add rules”窗口选择“Blank Rule”,打开“Edit Rule”属性页,填写属性页如下图所示:
Url_Rewrite

http://www.watch-life.net/visual-studio/stop-hot-linking-from-your-site-using-url-rewrite-in-iis-7-0.html

解释一下关于这个属性也填写的内容:
1、指定规则的名称为:Prevent Leeching,这个名字必须是唯一规则名。
2、每个请求的URL的匹配模式为“.*”,是一个正则表达式。
3、增加两个条件,并使这两个条件能够得到满足。 (看“Logical Grouping(逻辑组合)”是“Match All(匹配所有)”)
HTTP_REFERRER 不能匹配为空,因为它直接定位到一张图片。
HTTP_REFERRER 不能匹配你的网站(本例是 http://www.contoso.com)
4、如果满足上述连个条件(显然以为意味着来自任何网站的请求),我们将会跳转到安排的其他任何图片。

一个很重要提示就是URL Rewrite模块是需要被安装才可以工作,你可以如下两个版本:

x86版本:http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1691

x64版本:http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1692

该模块(目前)只支持IIS7.0,你应该运行IIS7.0有利于使用它。如果你的项目是使用Visual Studio for Web Developers开发,那么项目应该配置成在iis7.0下运行,而不是其他的web服务器。

有关URL Rewrite模块的详细内容见:http://learn.iis.net/page.aspx/460/using-url-rewrite-module/

更过有关IIS7.0的比较酷的功能的视频见channel9:http://channel9.msdn.com/pdc2008/ES14/

 

更多文章见:守望轩[http://www.watch-life.net/]

posted on 2009-08-14 09:21  xjb  阅读(423)  评论(0编辑  收藏  举报

导航