`
ywencn
  • 浏览: 85056 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Nginx防盗链的几种方法

阅读更多

转载: http://www.31sky.net/node/398

 

一:一般的防盗链如下:

  location ~* \.(gif|jpg|png|swf|flv)$ {
    valid_referers none blocked ww w.31sky.net 31sky.net ;
    if ($invalid_referer) {
    rewrite ^/  h ttp://www.31sky.net/retrun.html ;
    #return 403;

}
    }

 第一行:gif|jpg|png|swf|flv
表示对gif、jpg、png、swf、flv后缀的文件实行防盗链
第二行: 表示对www.ingnix.com这2个来路进行判断
if{}里面内容的意思是,如果来路不是指定来路就跳转到http://www.deepvps.com/retrun.html页面,当然直接返回 403也是可以的。 二:针对图片目录防止盗链

 

  location /images/ {
    alias /data/images/;
    valid_referers none blocked server_names *.xok.la xok.la ;
    if ($invalid_referer) {return 403;}
    }

 三:使用第三方模块ngx_http_accesskey_module实现Nginx防盗链
实现方法如下: 实现方法如下:
1. 下载NginxHttpAccessKeyModule模块文件:Nginx-accesskey-2.0.3.tar.gz;
2. 解压此文件后,找到nginx-accesskey-2.0.3下的config文件。编辑此文件:替换其中的”$HTTP_ACCESSKEY_MODULE”为”ngx_http_accesskey_module”;
3. 用一下参数重新编译nginx:
./configure --add-module=path/to/nginx-accesskey
4. 修改nginx的conf文件,添加以下几行:

 

location /download {
  accesskey             on;
  accesskey_hashmethod  md5;
  accesskey_arg         "key";
  accesskey_signature   "mypass$remote_addr";
}

 其中:
accesskey为模块开关;
accesskey_hashmethod为加密方式MD5或者SHA-1;
accesskey_arg为url中的关键字参数;
accesskey_signature为加密值,此处为mypass和访问IP构成的字符串。 访问测试脚本download.php:

 

<?php
$ipkey= md5("mypass".$_SERVER['REMOTE_ADDR']);
$output_add_key="<a href=http://www.31sky.net/download/G3200507120520LM.rar?key=".$ipkey.">download_add_key</a><br />";
$output_org_url="<a href=http://www.31sky.net/download/G3200507120520LM.rar>download_org_path</a><br />";
echo $output_add_key;
echo $output_org_url;
?>

 访问第一个download_add_key链接可以正常下载,第二个链接download_org_path会返回403 Forbidden错误。

分享到:
评论

相关推荐

    Nginx防盗链的3种方法

    Nginx防盗链的3种方法,需要的朋友可以参考下。

    Nginx防盗链的配置方法

    处于服务性能的考虑,我们通常把... 如果拓扑图: 超文本传输协议中的Referer作用 Referer:null 表示请求者直接访问 Referer:blocked 一般为防火墙设备添加的 Referer:URL 表示URL中的主机告诉请求者的间接访问 ...

    Nginx配置防盗链的完整步骤

    主要给大家介绍了关于Nginx配置防盗链的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    详解Nginx防盗链和Nginx访问控制与Nginx解析php的配置

    Nginx防盗链 配置如下,可以和上面的配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($...

    nginx利用referer指令实现防盗链配置

    nginx模块ngx_http_referer_module通常用于阻挡来源非法的域名请求,我们应该牢记。下面这篇文章主要介绍了nginx利用referer指令实现防盗链配置的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。

    Nginx防盗链.docx

    ——学习参考资料:仅用于个人学习使用! 本代码仅作学习交流,切勿用于商业用途,否则后果自负。若涉及侵权,请联系,会尽快处理! 未进行详尽测试,请自行调试!

    Nginx和Apache几种防盗链配置方法实例

    主要介绍了Nginx和Apache几种防盗链配置方法实例,本文使用判断来路的方法实现防盗链,分别给出Nginx和Apache配置实例,需要的朋友可以参考下

    Nginx学习之如何搭建文件防盗链服务的方法示例

    主要介绍了Nginx学习之如何搭建文件防盗链服务的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    centos服务器下nginx图片防盗链设置方法

    本篇文章主要介绍了centos服务器下nginx防盗链设置方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    配置Nginx的防盗链的操作方法

    主要介绍了配置Nginx的防盗链的操作方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    Nginx图片防盗链配置实例

    主要介绍了Nginx图片防盗链配置实例,并对代码做了详细的说明,让你充分理解配置的意图,需要的朋友可以参考下

    nginx rewrite重写规则与防盗链配置方法教程详解

    导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标记的几种形式,盗链时返回403错误,允许的域名直接跟在第二行的域名后面。 nginx rewrite重写规则与防盗链配置方法如下所示: nginx rewite...

Global site tag (gtag.js) - Google Analytics