nginx下防盗链利用referer指令来实现

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

  实现图片防盗链:

  location ——* .(gif|jpg|png|webp)$ {

valid_referers none blocked domain.com .domain.com server_names ——.google. ——.baidu.;

if (KaTeX parse error: Expected '}', got '#' at position 36: … return 403;   #̲rewrite ^/ http…invalid_referer等于1,在if语句中返回一个403给用户,这样用户便会看到一个403的页面,如果使用下面的rewrite,那么盗链的图片都会显示403.jpg。none规则实现了允许空referer访问,即当直接在浏览器打开图片,referer为空时,图片仍能正常显示.

[root@loya ——]# curl -I http://qingkang.me/1.jpg -H ‘Referer:http://www.baidu.com

HTTP/1.1 200 OK

Server: nginx/1.8.1

Date: Fri, 16 Dec 2016 14:56:51 GMT

Content-Type: image/jpeg

Content-Length: 17746

Last-Modified: Tue, 16 Aug 2016 03:20:21 GMT

Connection: keep-alive

ETag: “57b28675-4552”

Accept-Ranges: bytes

[root@loya ——]# curl -I http://qingkang.me/1.jpg -H ‘Referer:http://www.qq.com

HTTP/1.1 403 Forbidden

Server: nginx/1.8.1

Date: Fri, 16 Dec 2016 14:56:58 GMT

Content-Type: text/html; charset=utf-8

Content-Length: 168

Connection: keep-alive

指令

语法: valid_referers none | blocked | server_names | string …;

配置段: server, location

指定合法的来源’referer’, 他决定了内置变量$invalid_referer的值,如果referer头部包含在这个合法网址里面,这个变量被设置为0,否则设置为1. 需要注意的是:这里并不区分大小写的.

参数说明:

none “Referer” 为空

blocked “Referer”不为空,但是里面的值被代理或者防火墙删除了,这些值都不以http://或者https://开头,而是“Referer: XXXXXXX”这种形式

server_names “Referer”来源头部包含当前的server_names(当前域名)

arbitrary string 任意字符串,定义服务器名或者可选的URI前缀.主机名可以使用

开头或者结尾,在检测来源头部这个过程中,来源域名中的主机端口将会被忽略掉

  regular expression 正则表达式,——表示排除https://或http://开头的字符串.

  注意

  通过Referer实现防盗链比较基础,仅可以简单实现方式资源被盗用。构造Referer的请求很容易实现。

文章来源:http://www.iis7.com/b/ssyqdq/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《老男孩Linux运维》笔记 隐藏Nginx软件版本号 一般来说,软件的漏洞都和版本有关。因此要尽量隐藏对访问用户...
    Zhang21阅读 3,679评论 0 28
  • Nginx简介 解决基于进程模型产生的C10K问题,请求时即使无状态连接如web服务都无法达到并发响应量级一万的现...
    魏镇坪阅读 2,050评论 0 9
  • 1.ngnix介绍 ngnix www服务软件 俄罗斯人开发 开源 性能很高 本身是一款静态WWW软件 静态小文件...
    逗比punk阅读 2,126评论 1 6
  • 1.简介:  Nginx:engine X ,2002年,开源,商业版 http协议:web服务器(类似于ht...
    尛尛大尹阅读 1,895评论 0 3
  • I/O模型: 阻塞型、非阻塞型、复用型、信号驱动型、异步 同步/异步:关注消息通知机制 消息通知:同步:等待对方返...
    Net夜风阅读 2,027评论 0 1