盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。
通过IIS安装URL重写(URL Rewrite)模块,可以很方便的实施防盗链功能,下面我就介绍以下在IIS的各个版本使用URL重写(URL Rewrite)防盗链的方法。
IIS6
IIS6需要安装一个第三方工具ISAPI Rewrite来实现URL重写,先安装ISAPI_Rewrite3_0082.msi,安装完成后,在 .htaccess 的文件里写入以下语句即可:
RewriteCond Host: (.+) RewriteCond Referer: (?!http://1.*).* RewriteRule .*.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]
IIS7/8
IIS7不用安装第三方的软件,我们使用微软自己的URL Rewrite即可实现URL重写。
先安装URL Rewrite模块,安装好以上插件后,重启IIS管理器,然后点击当前主机,就会发现URL重写的图标了。
之后,编辑网站根目录下的web.config文件,将里面的内容修改为如下内容即可。
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Prevent hotlinking"> <match url="^.*.(jpg|gif|CSS|js)$" ignoreCase="true" /> <conditions> <add input="{HTTP_REFERER}" pattern="https://www.williamlong.info" negate="true" /> </conditions> <action type="Rewrite" url="/images/block.jpg" /> </rule> </rules> </rewrite> </system.webServer> </configuration>