---
title: "iis6通过isapi_rewrite限制迅雷下载阳光影视资源"
url: "https://lerry.me/post/2011/06/limit_download_from_vod_with_isapi_rewrite"
date: 2011-06-16T16:03:00.000Z
updated: 2026-09-01T06:40:18.513Z
tags:
language: zh-CN
---

# iis6通过isapi_rewrite限制迅雷下载阳光影视资源

现在有一个需求，学校用IIS做的vod点播，服务器地址不小心泄露了，有人用迅雷直接从服务器上下载影片，服务器压力骤增，我想做个东西，实现下面功能：

        普通用户只允许在线点播(即通过播放器访问)，已知播放器的user-agent为Novasoft+NetPlayer/4.0

        指定ip的用户可以无限制访问

限制

    服务器是win2003+IIS，这个基本不可能动

    因为服务器上已经有很多资源了，要求已有文件路径不能动

    因为面对数w用户，性能不能太差

  
我想的办法：

1.写一个webpy程序，检查ip，在列表则无限制，否则，检查user-agent，如果不是Novasoft+NetPlayer/4.0则拒绝访问，问题是如果可以访问，如何返回影视文件？

2.编写IIS扩展，不知python可以吗（我只会python）

  
请教各位大

这个我最早发在 CPyUG，得到的建议各种各样，我尝试了pywin32里面的ISAPI的示例，可惜失败了，毕竟我不是天才，短时间写不出ISAPI扩展来，后来决定用“阿暖”的建议，“直接写rewrite不行么”。
=========================================================================================================

我搜索了下，在IIS上实现rewrite的工具  [http://www.helicontech.com/download-isapi\_rewrite3.htm](http://www.helicontech.com/download-isapi_rewrite3.htm) ，最早测试的是2.x的版本，后来发现有3.x，功能类似于apache的rewrite模块，我想这样文档好找就用这个吧，经过无数次测试修正，最终的配置如下：

```
RewriteEngine on  
   
RewriteCond   %{REMOTE\_ADDR}      !(^202.xxx.xxx|203.xxx.xxx)    #此处xxx请用真实IP段代替  
RewriteRule  (.\*) - \[F\] \[L\]  
RewriteCond   %{HTTP\_USER\_AGENT}   !(^Novasoft)  
RewriteRule  (.\*) - \[F\] 
```
  

测试好后，发到群里：

  
阳光影视限制下载的功能已经做好 现在测试一下

  
1.请大家从开始菜单打开 网络媒体播放器 打开url输入 http://202.xxx.xxx.xxx/01.rmvb 看是否能播放  
2.请大家打开http://202.xxx.xxx.xxx/看是否能浏览  
3.请大家把http://202.xxx.xxx.xxx/01.rmvb粘到迅雷或者快车里面 看 是否能下载  
预期的情况是 能播放 不能浏览 也不能下载   
请大家告知测试结果 谢谢  

  
目前已部署至服务器，暂未出现问题
