IIS7图片防盗链配置教程

NDIS herman 1235浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

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

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

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