为了实现图片防盗链,根据网络上搜集的资料加上自己的实践,终于实现了iis下的图片防盗链功能。
实施步骤:
1.下载比较出名的www.helicontech.com提供的ISAPI Rewrite软件的免费版本(免费版本虽然有一些功能上的限制,但是做防盗链足够了):
2.设置软件安装目录的IIS_WGP组的读写权限(重要,如果不设置安装完后你的网站就会直接Service Unavailable,无法访问)。
设置方法:
假如你的安装目录是D:\Program Files\Helicon\ISAPI_Rewrite(默认安装目录是\Program Files\Helicon\ISAPI_Rewrite,我们可以先建立),右击ISAPI_Rewrite,选择"属性"->"安全"->"添加"->"高级"->"立即查找",会找到一项IIS_WGP,双击添加,确定即可。然后选中这个组,点击"完全控制",使其拥有读写权限。
3.安装软件(安装过程中软件会重启iis),安装目录选择上一步设置好权限的目录,安装完毕后打开控制面板里的Internet 信息服务,打开网站的属性对话框里面有一项"isapi筛选器",点击"添加","筛选器名称"自己随便填写一个好理解的名字就可以,"可执行文件"项点击"浏览",选择刚才安装的ISAPI_Rewrite的安装目录中的ISAPI_Rewrite.dll,确定即可。重启iis。
4.修改安装目录中的httpd.ini文件(如果这个文件为"只读"属性,则去掉"只读"之后再修改)
添加:
RewriteCond Host: ^(.+)$
RewriteCond Referer: ^(?!http://\\1.*).*$
RewriteCond Referer: ^(?!http://.*\.baidu\.com|.*\.google\.com|.*googlebot\.com|.*\.abc\.net).*).*$
RewriteRule ^(?!(/logo\.gif|/2_files/logo_tg\.gif)).*\.(?:gif|jpg|jpeg|png)$ /block.gif [I,O,N]
解释说明:
a.上面规则第三行中的www.abc.net为你网站的域名,请根据实际情况作出相应的修改,里面的baidu.com 和google.com是为了不阻止搜索引擎蜘蛛抓取图片。
b.第四行中的/logo.gif和2_fies/logo_tg.gif为你的logo图片的地址,目的是允许别人友情链接使用你的logo,如果不需要可以去掉"(?!(/logo\.gif|/2_files/logo_tg\.gif))"。后面的gif jpg等等可以自己根据实际情况修改。
另修改规则无需重启iis,只需要修改httpd.ini配置文件即可。