2019年1月25日星期五

IIS通过URL重写实现防盗链

  盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。

  通过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>

  原文链接:《IIS通过URL重写实现防盗链》