博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx ngx_http_referer_module模块根据referer屏蔽或禁止访问
阅读量:4121 次
发布时间:2019-05-25

本文共 988 字,大约阅读时间需要 3 分钟。

ngx_http_referer_module模块可根据header中的referer信息屏蔽某些请求对网站或应用的访问,可以起到禁止直接访问网站static files的作用(防盗链或保护文件)。

尽管nginx官方反复强调伪造一个referer并非难事,但还是提高了技术门槛,可以限制多数普通用户。

配置示例

[plain]
  1. valid_referers none blocked server_names  
  2.                *.example.com example.* www.example.org/galleries/  
  3.                ~\.google\.;  
  4.   
  5. if ($invalid_referer) {  
  6.     return 403;  
  7. }  

valid_referers 代表可信referer,此处可信referer的设置将会使变量$invalid_referer的值为「0」,反之$invalid_referer的值为「1」,则执行IF条件名并返回相关限制结果。

none是指当referer为空的时候,比如在链接器中直接打开一个图片链接,若要禁止用户直接访问,则必须省掉none。

blocked 是指经过某些代理或firewall过滤后的referer,比如省略了url前缀等, 同样地,若要禁止用户直接访问,则必须省掉blocked。

server_names 是nginx配置文件中的server name项,代指网站域名。

实例:禁止直接访问

下面的实例,禁止所有用户(包括search engine)直接访问网站上的css资源并返回错误代码502:

[plain]
  1. location ~ .css$ {  
  2. valid_referers www.12reads.cn;  
  3.     if ($invalid_referer) {  
  4.     return 502;  
  5.     }  
  6. }  

也可直接将域名http://www.12reads.cn/,使用server_names代替:

[html]
  1. location ~ .css$ {  
  2. valid_referers server_names;  
  3.     if ($invalid_referer) {  
  4.     return 502;  
  5.     }  
  6. }  
这样,直接访问.css文件时,nginx会返回502,但页面调用.css文件时仍可正常使用,因为referer合法,$invalid_referer为0。

转载地址:http://nlppi.baihongyu.com/

你可能感兴趣的文章
#import <Cocoa/Cocoa.h> 报错 Lexical or Preprocessor Issue 'Cocoa/Cocoa.h' file not found
查看>>
`MQTTClient (~> 0.2.6)` required by `Podfile`
查看>>
X-Code 报错 ld: library not found for -lAFNetworking
查看>>
Bitcode
查看>>
If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
查看>>
3.5 YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)
查看>>
iOS菜鸟学习--如何避免两个按钮同时响应
查看>>
How to access the keys in dictionary in object-c
查看>>
iOS菜鸟学习—— NSSortDescriptor的使用
查看>>
hdu 3787 hdoj 3787
查看>>
hdu 3790 hdoj 3790
查看>>
hdu 3789 hdoj 3789
查看>>
hdu 3788 hdoj 3788
查看>>
zju 1003 zoj 1003
查看>>
zju 1004 zoj 1004
查看>>
zju 1005 zoj 1005
查看>>
zju 1006 zoj 1006
查看>>
【虚拟机】虚拟化架构与系统部署(Windows系统安装)
查看>>
字节跳动安卓开发实习生面试分享
查看>>
好书分享之——《能力陷进》
查看>>