做过网站的人都知道,我们一般对两种情况比较烦恼。一种是文章被盗,被转载;另外一种是图片被大量盗用。而防止图片被盗用一般也有两种形式,一种是使用图片水印,浏览网站的人可以清楚的知道当前图片是来自其他网站的;还有一种就更彻底了,使用防盗链技术,彻底的让图片在第三方网站上不显示。而本文就是基于这种情况来说明 IIS7 的防盗链配置的。
更多精彩内容请看 web 前端中文站
http://www.lisa33xiaoq.net 可按 Ctrl + D 进行收藏
找到 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://(.*/.)?(lisa33xiaoq.net/.com)/.*$" negate="true" /> </conditions> <action type="CustomResponse" statusCode="404" /> </rule> </rules> </rewrite> </system.webServer>
可以看到配置中使用了正则,限定 jpg|png|gif 三种格式的图片只能通过 lisa33xiaoq.net 的域名来访问。
下面我简单的说一下 rules 规则配置:
- name 是规则的名称,不允许出现重名
- match url 只的是匹配规则,$是 url 的尾部,|是指不同类型,ignoreCase 是指不区分大小写。
- condition 是指以上规则需要满足里面的条件。
- http_reffer 是指来路域名,pattern 是指前者值,也就是说只要是从 mafutian.net 来的都可以下载(jpg|png|gif)文件,其他域名过来的都不行。
- action 是指生效后要做什么,这里是说要把非法访问都转向到 404 页面。
配置完成以后,我们可以做一下测试,新建一个 html 文档。在页面中引入网站的图片,未配置图片防盗时,效果如下:
当我们在 web.config 中配置 IIS7 伪静态规则实现防盗链后,网页中的图片部分就会显示 404 了。或者显示无法加载了。
【注:本文源自网络文章资源,由站长整理发布】