盗链的解决方案

来源:互联网 发布:mac百度云慢的解决办法 编辑:程序博客网 时间:2024/04/29 19:21

其实通过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,这时防盗链就开始起作用了,其他网站盗链过来的请求都会被拒绝。

至此,我也终于可以摆脱了被盗链的烦恼了。

原创粉丝点击