含义:

用于阻止 Referer 头字段为无效值的请求访问站点。需记住的是,使用适当的 Referer 字段值来伪造请求非常容易,因此本模块的预期目的不是要彻底阻止此类请求,而是阻止常规浏览器发送的大量流量请求。还应该考虑到,即使是有效请求,常规浏览器也可能不发送 Referer 字段。在需要添加验证的server中添加如下配置,

server{
listen ;
server_name www.kevin.com;
location ~*\.(GIF|jpg|png|jpeg){
root /home;
valid_referers shop.kevin.com;
if ($invalid_referer) {
return ;
}
}
}
按照上面的配置,如果请求头中不包含referers参数则将无法通过验证。

valid_referers参数说明:

none:不包含referers参数也可以通过验证。
blocked:原本请求中包含了该参数,但是被防火墙或代理服务器过滤了,此时也可以通过验证。
server_name:Referer请求头字段包含一个服务器名称。
任意字符串:开头和结尾可以包含*
正则表达式:第一个符号应为~。要注意的是,表达式只与http://https://之后的文本匹配。
完整配置示例:
valid_referers none blocked server_names
*.example.com example.* www.example.org/galleries/
~\.google\.;

内嵌变量:

$invalid_referer:如果Referer请求头字段的值有效,则为空字符串,否则为1。
 

HTTP Headers Referrer-Policy

关于Referrer的详细介绍。

nginx静态资源防盗链的更多相关文章

  1. Nginx 配置静态资源防盗链

    # 什么是静态资源盗链: # 你服务器上的一张图片,127.0.0.1/images/a.png # 别人的html页面可以直接通过<img src="127.0.0.1/images ...

  2. 16.Nginx优化与防盗链

    Nginx优化与防盗链 目录 Nginx优化与防盗链 隐藏版本号 修改用户与组 缓存时间 日志切割 小知识 连接超时 更改进程数 配置网页压缩 配置防盗链 配置防盗链 隐藏版本号 可以使用 Fiddl ...

  3. nginx secure_link下载防盗链

    下载服务器上有众多的软件资源, 可是很多来源不是本站,是迅雷.flashget, 源源不断的带宽,防盗链绝对是当务之急. 使用来源判断根本不靠谱,只能防止一些小白站点的盗链,迅雷之类的下载工具完全无效 ...

  4. 清除nginx静态资源缓存

    之前写过一篇如何配置nginx缓存及手动清除缓存的文章: http://www.cnblogs.com/Eivll0m/p/4921829.html 但如果有大量缓存需要清理,手动一条条清理就比较慢了 ...

  5. Nginx 静态资源缓存配置

    示例 # Media: images, icons, video, audio, HTC location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|m ...

  6. nginx如何设置防盗链

    关于nginx防盗链的方法网上有很多教程,都可以用,但是我发现很多教程并不完整,所做的防盗链并不是真正的彻底的防盗链! 一般,我们做好防盗链之后其他网站盗链的本站图片就会全部失效无法显示,但是您如果通 ...

  7. Nginx——静态资源服务器(一)

    java web的项目中,我们经常将项目部署到Tomcat或者jetty上,可以通过Tomcat或者jetty启动的服务来访问静态资源.但是随着Nginx的普及,用Nginx来作为静态资源服务器,似乎 ...

  8. nginx服务器图片防盗链的方法

    nginx服务器图片防盗链的方法<pre> location ~* \.(gif|jpg|png|jpeg)$ { expires 30d; valid_referers *.shuche ...

  9. nginx静态资源设置缓存的方法

    nginx静态资源设置缓存的方法 直接加expires 30d; 就是就可以了 缓存时间30天完整如下 <pre> location / { root /home/www/wordpres ...

随机推荐

  1. 一个ACE 架构的 C++ Timer

    .h #ifndef _Timer_Task_ #define _Timer_Task_ #pragma once #include <ace/Task.h> #include <a ...

  2. HTML文档解析和DOM树的构建

    浏览器解析HTML文档生成DOM树的过程,以下是一段HTML代码,以此为例来分析解析HTML文档的原理 <!DOCTYPE html> <html lang="en&quo ...

  3. 【第五空间智能安全大赛】hate_php WriteUp

    环境:https://www.ctfhub.com/#/challenge 打开题目可以看到源码: 阅读源码发现过滤掉了f l a g . p h / ; " ' ` | [ ] _ =这些 ...

  4. 使用@AutoConfigureBefore调整配置顺序竟没生效?

    一个人的价值体现在能够帮助多少人.自己编码好,价值能得到很好的体现.若你做出来的东西能够帮助别人开发,大大减少开发的时间,那就功德无量. 作者:A哥(YourBatman) 公众号:BAT的乌托邦(I ...

  5. python中pymysql executemany 批量插入数据

    import pymysqlimport timedb = pymysql.connect("IP","username","password&quo ...

  6. 正则表达式以及sed,awk用法 附带案例

    则表达式 基本正则 ^    $    [  ]   [^]   .   *    \{n,m\}   \{n,\}    \(ro\)\{2\}   \(\)   扩展正则 egrep grep - ...

  7. 最新MySQL入门篇

    一.SQL简介 ​ SQL:结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系 ...

  8. CentOS7安装Oracle 11g

    准备工作 1.下载Oracle安装包:linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip ,可以下载到本地,通过 ...

  9. Python之常用模块学习(一)

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...

  10. 数据可视化实例(十一): 矩阵图(matplotlib,pandas)

    矩阵图 https://datawhalechina.github.io/pms50/#/chapter9/chapter9 导入所需要的库 import numpy as np # 导入numpy库 ...