Chinaunix首页 | 论坛 | 博客
  • 博客访问: 89705
  • 博文数量: 36
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 410
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-18 10:43
文章分类

全部博文(36)

文章存档

2009年(31)

2008年(5)

我的朋友

分类: LINUX

2009-03-21 10:58:32

防盗链配置容易搞定:
Nginx的防盗链
一般的防盗链如下:
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked
if ($invalid_referer) {
rewrite ^/ http:///403.html;
#return 404;
}
}
第一行:gif|jpg|png|swf|flv
表示对gif、jpg、png、swf、flv后缀的文件实行防盗链
第二行:
表示对 这2个来路进行判断
if{}里面内容的意思是,如果来路不是指定来路就跳转到错误页面,当然直接返回404也是可以的。


nginx有个模块叫做 ngx_http_referer_module,通过这个模块,可以很方便的做防盗链设置
一般常用的方法是在 server或者location段中加入
valid_referers   none  blocked  mydomain.com;
详见下面的例子
其中 none 表示 空的来路,也就是直接访问,比如直接在浏览器打开一个图片
blocked 表示被防火墙标记过的来路
server_names 也就是域名了。0.5.33以后的版本中,可以用*.admin99.com来表示所有的二级域名

一。针对不同的文件类型
location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv)$ {
     valid_referers none blocked *.admin99.net admin99.net;
     if ($invalid_referer) {
     #rewrite ^/
     return 403;
      }
}

二。针对不同的目录
location /img/ {
    root /data/img/;
    valid_referers none blocked *.admin99.net admin99.net;
    if ($invalid_referer) {
                   rewrite  ^/  http://www.admin99.net/images/error.gif
                   #return   403;
    }
}

三。以上是nginx自带的防盗链功能,另外还可以利用 nginx 的第三方模块 ngx_http_accesskey_module 来实现下载文件的防盗链,不做讨论。
阅读(752) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~