网络安全 频道

盗链的解决方案

其实通过WEB服务器的URL过滤技术,这个伤脑筋的问题会很容易得到解决。 

如果WEB服务器用的是APACHE的话,那么使用APACHE自带的Url Rewrite功能可以很轻松地防止各种盗链,其原理是检查REFER,如果REFER的信息来自其他网站则禁止访问所需要的资源。 

那么,IIS支持UrlRewrite吗? 

答案很简单,不支持。但是我们可以通过安装第三方服务器扩展让IIS支持。 

目前有一种产品能比较好地支持IIS的UrlRewrite,名字叫ISAPI_Rewrite。 

下载地址在: http://www.helicontech.com/download/ 

这里只有ISAPI Rewrite的一个LITE版本是免费的,其它都是trial版本。ISAPI Rewrite Lite的版本功能不支持虚拟站点配置,元数据监测和自动缓存清理。 但是基本的UrlRewrite功能都支持。 

如何进行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即可生效。 

对于我的网站,我防盗链的方法是在httpd.ini里面加入如下语句 

RewriteCond Host: (.+) 

RewriteCond Referer: (?!http:///1.*).* 

RewriteRule .*/.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O] 

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

至此,我也终于可以摆脱了被盗链的烦恼了http://www.hack58.net/Article/60/63/2006/9401.htm
0
相关文章