首先,我们需要知道通过什么来实现防盗的!

    http referer 是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上referer,这是在告诉服务器是从哪个页面链接过来的,服务器借此可以获得一些信息用于处理;

location /photos/ {
    valid_referers none blocked 域名/IP;
    if ($invalid_referer) {
      return 403;
    }
}

  

Http  Referer 模块的功能有:

valid_referers  :该指令会根据浏览器Referer header头的内容分配一个值0或1给变量$invalid_referer ;

如果referer header 头不符合valid_referers指令设置的有效referer,变量$invalid_referer将被设置为1,那么便会执行if模块中的内容;

该指令的参数有:

none :默认值,表示没referer值(直接访问防盗链中的内容)的情况;

blocked :表示referer值被防火墙伪装;

server_names :表示一个或者多个主机名称,从nginx0.5.33版本开始,server_names中可以使用通配符*;

我们通过一个例子来更深彻的来了解一下防盗链吧!

location ~* \.(gif|jpg|jpeg|png|bmp|swf|flv)$ {
     valid_referers none blocked 域名/IP;
     if ($invalid_referer) {
         rewrite ^/ http://www.afeige.cn/404.html;
         #return 404;
     }
 }

  

第一行:表示对以   gif|jpg|jpeg|png|bmp|swf|flv  结尾的文件进行防盗链;

第二行:表示对  域名/IP   这个来路进行判断

if{}里面内容的意思是,如果来路不是指定来路就跳转到错误页面,当然直接返回404也是可以的呀!

若  valid_referers none blocked 域名/IP;   中,none 存在;那么在浏览器直接访问域名下的该文件依然也可以访问

为了达到即使在浏览器中输入正确的图片路径,也不允许访问的状态;那么把none删除掉就Ok了!

成功的路总是越来越窄,然后越来越宽。如果轻易就成功了岂不是没意思了。

Nginx 之防盗链配置的更多相关文章

  1. nginx实现防盗链配置方法介绍

    有些朋友觉得防盗链就是防止图片,其实有很多东西要进行防盗链了,下面我来介绍在nginx中实现防盗链配置方法有对图片防盗链与下载资源等. 防盗链配置 假设网站域名是 www.php100.com. 编辑 ...

  2. Nginx图片防盗链配置

    如果我们自己网站内的图片资源被其它网站所盗用,这会增加自己网站的带宽资源,增加很多额外的消耗,而且会对我们系统的稳定性有影响,为了防止自己网站上的图片资源被其它网站所盗用,我们需要给自己的服务器配置防 ...

  3. Nginx防盗链配置案例配置,Nginx的知识分享

    防盗链的含义:网站内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容. 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址 ...

  4. nginx rewrite重写与防盗链配置

    nginx rewrite重写规则与防盗链配置方法 时间:2016-02-04 15:16:58来源:网络 导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标 ...

  5. 配置Nginx的防盗链

    实验环境 一台最小化安装的CentOS 7.3虚拟机 配置:1核心/512MB nginx版本1.12.2 一.配置盗链网站 1.启动一台nginx虚拟机,配置两个网站 vim /etc/nginx/ ...

  6. Nginx中防盗链(下载防盗链和图片防盗链)操作记录

    日常运维工作中,设置防盗链的需求会经常碰到,这也是优化网站的一个必要措施.今天在此介绍Nginx中设置下载防盗链和图片防盗链的操作~ 一.Nginx中下载防盗链的操作记录对于一些站点上的下载操作,有很 ...

  7. Nginx中防盗链(下载防盗链和图片防盗链)及图片访问地址操作记录

    日常运维工作中,设置防盗链的需求会经常碰到,这也是优化网站的一个必要措施.今天在此介绍Nginx中设置下载防盗链和图片防盗链的操作~ 一.Nginx中下载防盗链的操作记录对于一些站点上的下载操作,有很 ...

  8. Nginx图片防盗链【实战】

    访问我的博客 前言 博主目前在一家原创小说网站公司工作,由于站内的作品全部是原创,于是乎不可避免地会被一些盗版网站爬取盗版,对于防盗版一直没有很好的对策,让公司很是苦恼. 最近去一些盗版网站上搜索我们 ...

  9. nginx apache防盗链

    要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件.换句 ...

随机推荐

  1. [转]Intellij IDEA快捷键

    [常规]Ctrl+Shift + Enter:语句完成“!”:否定完成:输入表达式时按 “!”键Ctrl+E:最近的文件Ctrl+Shift+E:最近更改的文件Shift+Click:可以关闭文件Ct ...

  2. gaea-basic-components 知识点

    github:https://github.com/ascoders/gaea-basic-components

  3. 外观模式face

    5.1 模式优点       外观模式的主要优点如下: (1) 它对客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易.通过引入外观模式,客户端代码将变得很简单,与之 ...

  4. bzoj 4184 shallot——线段树分治+线性基

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4184 本来想了可持久化trie,不过空间是 nlogn (出一个节点的时候把 tot 复原就 ...

  5. java 反射创建实例与new创建实例的区别

    new创建实例 new创建一个编译时已知的类的实例,也即是静态的创建实例: 可以调用类的任何构造器来创建实例: 速度更快,由于可以将需要的类写入字节文件中(hardcoded into the byt ...

  6. java 同步代码块与同步方法

    同步代码块 synchronized (obj) { // 代码块 } obj 为同步监视器,以上代码的含义为:线程开始执行同步代码块(中的代码)之前,必须先获得对同步监视器的锁定. 代码块中的代码是 ...

  7. shell 变量的默认值

    默认值表达式1 ${a-defaultvalue} a如果没有定义,则表达式返回默认值,否则返回a的值: demo1 a="" ret1=${a-"/usr/local& ...

  8. 安装plsql developer

    需求:要连接oracle数据库,不想在本地安装oracle,太大,又占内存,所以用plsql developer.. 在网上看了很多博客,妈呀,被毒的不清,一直提示初始化失败,就是那个oci,dll ...

  9. 排序算法<No.5>【堆排序】

    算法,是系统软件开发,甚至是搞软件的技术人士的核心竞争力,这一点,我坚信不疑.践行算法实践,已经有一段时间没有practise了,今天来一个相对麻烦点的,堆排序. 1. 什么是堆(Heap) 这里说的 ...

  10. 使用 Visual Studio 分析器找出应用程序瓶颈

    VS的性能分析工具 性能分析工具的选择 打开一个“性能分析”的会话:Debug->Start Diagnotic Tools Without Debugging(或按Alt+F2),VS2013 ...