欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

IIS通过URL重写实现防盗链

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

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

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