盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。
通过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="http://bit.ly/2LwSXMG" negate="true" />
</conditions>
<action type="Rewrite" url="/images/block.jpg" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>