好好学习,天天向上

Ibrahim的博客

设置IIS防止盗链,减少流量损失(ISAPI Rewrite)

国外服务器,流量都是收费的。如果您的图片或下载,被其它网站盗链,那浪费的是您自己的流量,自己的钱。如何设置IIS防止盗链,减少流量损失? 一种产品能比较好地支持IIS的UrlRewrite,名字叫ISAPI_Rewrite。

下载地址在: http://www.isapirewrite.com/

这里只有ISAPI Rewrite的一个LITE版本是免费的,其它都是trial版本。ISAPI Rewrite Lite的版本功能不支持虚拟站点配置,元数据监测和自动缓存清理。 但是基本的UrlRewrite功能都支持。也可以到这里下载:http://www.codepub.com/Software/View- Software-8709.html

IIS Rewrite 下载

点击这里下载 IIS Rewrite 组件

IIS Rewrite 配置

1、将下载的 IIS Rewrite 组件解压,放到适当的目录(如 C:/Rewrite)下。

IIS Rewrite

2、在“IIS管理器”里选择网站,右键,属性。

IIS Rewrite

3、选择“ISAPI”,点击“添加”。

IIS Rewrite

4、填入筛选器名称,如“rewrite”。

IIS Rewrite

5、可执行文件下方点击“浏览”,选择刚才解压的Rewrite组件位置,Rewrite.dll。

IIS Rewrite

6、确认选择正确后,点击“确定”。

IIS Rewrite

7、点击“确定”,完成筛选器添加。

IIS Rewrite

8、重启IIS。

IIS Rewrite

IIS Rewrite

9、重启IIS后,再次选择站点,右键,属性,看到如下所示向上的绿箭头,说明 IIS Rewrite 成功添加并运行。

IIS Rewrite

IIS Rewrite 规则设置

解压后的 IIS Rewrite 组件目录(如 C:/Rewrite)中,有一个 httpd.ini 文件,将相应规则写入到这个文件中即可。

安装方法压缩包中 Readme.txt 也有说明。

如何进行UrlRewrite的设置?

isapi_rewrite利用正则表达式进行替换规则的表示。

下面是一个简单的例子,我想让我们的用户输入 http://localhost/test-12314.html 实际上访问的是 http://localhost/test.asp?id=12314 。那么我们的匹配表达式应该是 /test-([0-9]*).html 对应的格式化表达式应该为 /test.asp/?id=$1 。

进行正则表达式的编写的时候,可以利用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,这时防盗链就开始起作用了,其他网站盗链过来的请求都会被拒绝。 至此,我也终于可以摆脱了被盗链的烦恼了

阅读更多
个人分类: windows
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭