IIS图片防盗链和下载的解决方案

(编辑:jimmy 日期: 2024/12/23 浏览:2)

在要启用Rewrite的IIS站点的Isapi上添加这个筛选器 

筛选器名称Rewrite 
可执行文件选择 c:\Rewrite\Rewrite.dll 即可以了 

httpd.ini是配置文件 

图片防盗链代码

[ISAPI_Rewrite]  
# 3600 = 1 hour  
CacheClockRate 3600  
RepeatLimit 32  
# Protect httpd.ini and httpd.parse.errors files  
# from accessing through HTTP  
RewriteCond Host: (.+)  
RewriteCond Referer: ("//www.jb51.net">//www.jb51.net以及www.discuz.net这两个站点,在其它网站上盗链全部拒绝!

服务器 IIS服务器防盗链具体设置方法

今天主要说下IIS服务器防盗链的设置方法。

isapi_rewrite利用正则表达式进行替换规则的表示。进行正则表达式的编写的时候,可以利用isapi_rewrite提供的正则表达式测试工具(默认安装提供),进行调试。做好了匹配表达式和格式化表达式,我们可以把它们放到安装目录下的httpd.ini里面。文件保存后,不需重新启动iis即可生效。

IIS服务器防盗链的方法是在httpd.ini里面加入如下语句

RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]

然后重启IIS,这时防盗链就开始起作用了,其他网站盗链过来的请求都会被拒绝。

如果你想对个别站点不防盗链的话或者你的论坛是分开的两个域名的话。以上方法会导致双方相互防盗链!不能正常调用请按下面的方法改动,具体代码:

RewriteCond Host: (.+)
RewriteCond Referer: (?!http://(?:www\.jb51\.net|www\.discuz\.net)).+
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]

至此防盗链配置已经调好, 然后在网站根目录下建立block.gif文件,盗链的网站显示的就是这个图片了,终于可以摆脱了被盗链的烦恼了吧。其实discuz的后台附件设置也是可以设置防盗链的,只要设置附件链接有效期:8;下载附件来路检查:是即可,具体可以参考Discuz!附件上传设置方法和远程附件设置方法。