`
85977328
  • 浏览: 1898936 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx系列(六)防盗链

 
阅读更多
盗链的定义
    此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。


Nginx的防盗链
一般的防盗链
如下:
        location ~* \.(gif|jpg|png|swf|flv)$ {
            valid_referers none blocked 192.168.56.2 www.163.com;
            if ($invalid_referer) {
              #rewrite ^/ http://192.168.56.2/500.html;
              return 403;
            }
        }

第一行:gif|jpg|png|swf|flv
表示对gif、jpg、png、swf、flv后缀的文件实行防盗链
第二行:192.168.56.2 www.163.com
表示对192.168.56.2 www.163.com这2个来路进行判断(主要是根据http协议里的referer)
if{}里面内容的意思是,如果来路不是指定来路就跳转到错误页面,当然直接返回403也是可以的。

验证
写一个页面,放到${nginx_home}/html目录下
<html>
        <body>
[url=cat.jpg]cat.jpg[/url]
        <body>
</html>

上传cat图片文件到${nginx_home}/html目录下
然后修改valid_referers none blocked 192.168.56.2 www.163.com;即可看到结果


NginxHttpAccessKeyModule实现防盗链
配置文件
        location / {
            accesskey             on;
            accesskey_hashmethod  md5;
            accesskey_arg         "key";
            accesskey_signature   "mypass$remote_addr";
            root   html;
            index  index.html index.htm;
        }
如果不怕麻烦,有条件实现的话,推荐使用NginxHttpAccessKeyModule这个东西。

他的运行方式是:如我的download 目录下有一个 file.zip 的文件。对应的URI 是http://192.168.56.2/download/file.zip
使用ngx_http_accesskey_module 模块后http://192.168.56.2/download/file.zip?key=09093abeac094. 只有给定的key值正确了,才能够下载download目录下的file.zip。而且 key 值是根据用户的IP有关的,这样就可以避免被盗链了。

NginxHttpAccessKeyModule现在连迅雷都可以防了,可以尝试一下。

验证
上传cat图片文件到${nginx_home}/html目录下
本机地址为192.168.56.1,md5(mypass192.168.56.1)=38aab68ac44d06eeda43d98de55a1318
直接访问
http://192.168.56.2/cat.jpg返回404
访问
http://192.168.56.2/cat.jpg?key=38aab68ac44d06eeda43d98de55a1318

相关文档:
《Nginx下Discuz!的Rewrite》:http://www.ccvita.com/348.html
《Nginx下WordPress的Rewrite》:http://www.ccvita.com/336.html
《Nginx的Rewrite配置》:http://www.ccvita.com/319.html
《Nginx的防盗链配置》:http://www.ccvita.com/312.html
分享到:
评论

相关推荐

    Nginx配置防盗链的完整步骤

    ### 二、Nginx防盗链配置步骤 #### 1. 编辑Nginx配置文件 打开Nginx的配置文件(通常是`/etc/nginx/nginx.conf`或`/usr/local/nginx/conf/nginx.conf`),找到`http`或`server`块,并在其中添加一个针对特定文件...

    nginx优化与防盗链☆☆☆

    【标题】:“Nginx优化与防盗链”涵盖了Nginx服务器在性能调优和防止非法访问方面的核心知识点。Nginx作为一个高性能的HTTP和反向代理服务器,其高效的处理能力、轻量级的特性以及丰富的模块化设计,使其成为众多...

    Nginx-防盗链问题

    Nginx-防盗链问题

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

    本文将详细介绍如何利用 Nginx 的 `referer` 指令进行防盗链配置。 `Referer` 字段在 HTTP 请求头中用于指示用户是从哪个 URL 跳转到当前请求的页面的。在图片防盗链的场景下,如果 Nginx 服务器接收到一个请求,其...

    Nginx防盗链.docx

    【Nginx防盗链配置详解】 Nginx防盗链(Anti-leech)是一种网络服务器安全策略,用于防止其他网站未经许可直接引用你的服务器上的资源,如图片、视频等。这通常发生在图片分享网站或者流媒体服务中,防止恶意网站...

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

    标签“Nginx”、“搭建文件防盗链服务”和“Nginx 文件防盗链服务”表明文章的主要焦点是Nginx以及如何通过Nginx配置实现文件防盗链功能。 接下来的知识点内容详细介绍了使用Nginx配置文件防盗链服务的具体步骤和...

    Nginx:Nginx限流与防盗链设置.docx

    Nginx:Nginx限流与防盗链设置.docx

    Nginx优化与防盗链实践教程

    Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engineX”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器.Nginx是由俄罗斯人IgorSysoev为俄罗斯访问量第二的...

    Nginx图片防盗链配置实例

    Nginx图片防盗链配置是保护网站资源不被其他站点无授权引用的一种技术措施,它有助于减少不必要的带宽消耗和流量损失。以下是对Nginx图片防盗链配置的详细解释: 1. **基本原理**: 图片防盗链主要是通过检查HTTP...

    通过lua来配置实现Nginx服务器的防盗链功能

    传统的Nginx防盗链方法可能包括使用Referer检查或者Access Key模块,但这里我们采用Lua脚本,因为这提供了更大的灵活性和定制化空间。 **一、生成处理过的下载链接** 在客户端(即提供下载链接的页面)的Nginx...

    SpringBoot集成FastDFS+Nginx整合基于Token的防盗链的方法

    SpringBoot集成FastDFS+Nginx整合基于Token的防盗链的方法 主要知识点: 1. SpringBoot框架:SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了...

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

    在本文中,我们将深入探讨如何在CentOS服务器上使用Nginx设置图片防盗链功能。防盗链的主要目的是防止其他网站未经许可直接引用你的服务器上的图片资源,从而节省宝贵的带宽和流量。 首先,我们需要了解Nginx配置...

    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 ($...

    呆呆防盗链扩展版 v1.4

    《呆呆防盗链扩展版 v1.4:服务器流量保护与外链管理详解》 在互联网服务中,服务器流量的管理至关重要,特别是对于提供大量资源下载或内容分享的站点而言,防止恶意或非授权的外部链接(即盗链)窃取服务器资源...

Global site tag (gtag.js) - Google Analytics