Pages

Sunday, 18 November 2012

WordPress使用httpd.ini实现图片防盗链


本教程只支持IIS下的防盗链,并且开启使用了Rewrite服务器组件,如果你的主机只支持Apache,可以查看《WordPress使用.htaccess实现图片防盗链》,我用的是WIN主机,以后应该能用到。

首先用记事本新建一个文本文档(如果已经启用了伪静态,可省去这一步),另存为httpd.ini,并在此文件中添加如下代码:

[ISAPI_Rewrite]

CacheClockRate 3600

RepeatLimit 32

#已配置了伪静态的可以删除上面三行代码

#防盗链设置

RewriteCond Host: (.+) RewriteCond Referer: (?!http://(?:urdomain\.com|(.*)\.urdomain\.com|baidu\.com|(.*)\.baidu\.com|google\.com|(.*).\google.com)).*

RewriteRule .*\.(?:jpg|jpeg|gif|png|bmp|rar|zip|exe) /images/no.png

[I,O,N]

说明解释:

RewriteCond Referer:这里填写的是你允许连接图片的网站地址,将“urdomain”修改成你的网站地址即可,我们可以看出每个域名都是用“|”隔开的,因此你也可以连续插入多个允许访问的网址,但是要注意格式。

(?:jpg|jpeg|gif|png|bmp|rar|zip|exe):这些就是你需要防盗链文件的扩展名,每个扩展名用“|”隔开。

no.png:别人盗链你的图片后跳转显示的图片地址,如:你可以写成”/images/no.png”,表示的是网站根目录下/images/文件夹中的no.png,自己可以随便定义。

设置好了以后保存为httpd.ini文件,保存好了就开始上传:将httpd.ini上传至网站根目录,no.png要放到相应的目录。这些都完成以后重启一下IIS服务器,刷新网页看看,一切都成功了,如果你是虚拟主机用户可以要求客服重启下IIS.