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

    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. mysql之 sysbench1.0.3 安装与系统压力测试

    针对系统和数据库压测是项目上线前必做的一项,这里使用的是最新版本的sysbench做的压测使用详解.sysbench可以做系统层面的压力测试(CPU.内存.硬盘IO.互斥锁.Thead),也可以做数据 ...

  2. linux之 sed命令

    1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区 ...

  3. oauth2 java 代码示例

    @RequestMapping("/oauth") @Controller public class OauthController { String clientId = &qu ...

  4. RSA 加密算法 Java 公钥加密私钥解密 和 私钥加密公钥解密 的特点

    package com.smt.cipher.unsymmetry; import org.apache.commons.codec.binary.Base64; import org.apache. ...

  5. SQL Server Profiler 怎么创建trace来收集sql log(.trc文件)

    1.  先安装SQL Server 2008 R2或其他版本的数据库. 2.  打开profiler, 选择新建一个trace,连接到要监控的SQL Server数据库实例. 打开 SQL Serve ...

  6. Linux VMware安装VMTools工具

    安装VMTools工具 2)先启动CentOS并成功登录如下图,发现底部提示且窗口中等大小,准备安装 3)选择虚拟机菜单栏--安装VMware tools 4)光驱自动挂载VMTools 5)右键解压 ...

  7. angular2中如何引入scss

    如何在ng2的模块或者组件中引入sass文件? 很简单,两个步骤 1.安装style-loader css加载器 npm install --save-dev style-loader 2.在ts文件 ...

  8. 《JavaScript设计模式与开发》笔记 4.闭包

    1.变量的作用域 2.变量的生存周期 3.闭包更多作用 1.封装变量 2.延续局部变量寿命 4.闭包和面向对象设计 5.闭包和内存管理 1.变量的作用域 var func = function(){ ...

  9. Java Collection - 003 高效的找出两个List中的不同元素

    如题:有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样取出两个集合中不同的元素? 方法1:遍历两个集合 public ...

  10. linux下串口调试工具

    apt install cutecom 或者 serialtool 后者github上搜索