IIS7图片防盗链配置教程

NDIS herman 143浏览 0评论

做过网站的人都知道,我们一般对两种情况比较烦恼。一种是文章被盗,被转载;另外一种是图片被大量盗用。而防止图片被盗用一般也有两种形式,一种是使用图片水印,浏览网站的人可以清楚的知道当前图片是来自其他网站的;还有一种就更彻底了,使用防盗链技术,彻底的让图片在第三方网站上不显示。而本文就是基于这种情况来说明IIS7的防盗链配置的。

找到IIS7下的web.config文件(一般在网站的根目录下,如果没有那就自己创建一个)。在该文件中添加以下配置:

<system.webServer>   
  <rewrite>
    <rules>
        <rule name="BlockDirectDownload" enabled="true" stopProcessing="true">
	  <match url="(?:jpg|png|gif)$" ignoreCase="true" />
	  <conditions>
		<add input="{HTTP_REFERER}" pattern="^http://(.*\.)?(xttblog\.com)/.*$" negate="true" />
	  </conditions>
	  <action type="CustomResponse" statusCode="404" />
        </rule>
    </rules>
   </rewrite>
</system.webServer>

可以看到配置中使用了正则,限定jpg|png|gif三种格式的图片只能通过xttblog.com的域名来访问。

下面我简单的说一下rules规则配置:

  • name是规则的名称,不允许出现重名
  • match url只的是匹配规则,$是url的尾部,|是指不同类型,ignoreCase是指不区分大小写。
  • condition是指以上规则需要满足里面的条件。
  • http_reffer是指来路域名,pattern是指前者值,也就是说只要是从mafutian.net来的都可以下载(jpg|png|gif)文件,其他域名过来的都不行。
  • action是指生效后要做什么,这里是说要把非法访问都转向到404页面。

配置完成以后,我们可以做一下测试,新建一个html文档。在页面中引入网站的图片,未配置图片防盗时,效果如下:

IIS7图片防盗链配置

当我们在web.config中配置IIS7伪静态规则实现防盗链后,网页中的图片部分就会显示404了。或者显示无法加载了。

本文原文出处:业余草: » IIS7图片防盗链配置教程