nginx 防盗链的问题 能举例说明吗?

天王盖地虎626 发布于 2014/06/13 22:52
阅读 130
收藏 0
 location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv)$ {
     valid_referers none blocked *.yiibase.com yiibase.com;
     if ($invalid_referer) {
     #rewrite ^/ http://www.765h.com/error.html;
     return 403;
      }
}

我知道这是防盗链,按照我的理解是不是,如果要访问这些资源的时候,必须要通过网址符合正则表达式为

*.yiibase.com yiibase.com的才能访问这些资源?

其中 none表示空的来路,也就是直接访问,比如直接在浏览器打开一个图片
blocked
表示被防火墙标记过的来路

这2个参数none,blocked所起的作用是啥呀?有点犯晕,麻烦解释下,谢谢。


 

 

加载中
0
工程师爸爸
工程师爸爸

问题一:

不是输入网址,而是指来源地址域 (通过Referer判断)

解释:例如从A网站跳转指B网站,则B网站抓到来源网站是A;

同理 在A网站上使用图片链接,则Nginx抓到的来源地址是A. (A如果不限制则成功,如果限制则会收到403错误)

总之:是判断来源地址域


问题二:

none 意为不存在的Referer头 

blocked 意为根据防火墙伪装Referer头,如:“Referer: XXXXXXX”。

返回顶部
顶部