Nginx ngx_http_referer_module模块根据referer屏蔽或禁止访问
来源:互联网 发布:长兴人民法院淘宝拍卖 编辑:程序博客网 时间:2024/05/18 00:57
ngx_http_referer_module模块可根据header中的referer信息屏蔽某些请求对网站或应用的访问,可以起到禁止直接访问网站static files的作用(防盗链或保护文件)。
尽管nginx官方反复强调伪造一个referer并非难事,但还是提高了技术门槛,可以限制多数普通用户。
配置示例
- valid_referers none blocked server_names
- *.example.com example.* www.example.org/galleries/
- ~\.google\.;
- if ($invalid_referer) {
- return 403;
- }
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:
- location ~ .css$ {
- valid_referers www.12reads.cn;
- if ($invalid_referer) {
- return 502;
- }
- }
也可直接将域名http://www.12reads.cn/,使用server_names代替:
- location ~ .css$ {
- valid_referers server_names;
- if ($invalid_referer) {
- return 502;
- }
- }
这样,直接访问.css文件时,nginx会返回502,但页面调用.css文件时仍可正常使用,因为referer合法,$invalid_referer为0。
阅读全文
0 0
- Nginx ngx_http_referer_module模块根据referer屏蔽或禁止访问
- ngx_http_referer_module模块
- nginx 配置禁止访问目录或文件
- nginx 配置禁止访问目录或文件
- nginx配置禁止访问目录或文件
- nginx利用Location,rewrite模块防盗链,禁止访问
- nginx禁止某个IP或某个IP段访问网站
- apache、nginx禁止访问文件或目录设置
- Nginx 禁止IP访问
- nginx 禁止IP访问
- nginx中禁止屏蔽网络爬虫
- nginx中禁止屏蔽网络爬虫
- nginx反向代理访问带referer的后端
- nginx 禁止某个IP访问
- nginx 禁止某个IP访问
- Nginx禁止其他域名访问
- nginx禁止某个IP访问
- nginx 禁止某个IP访问
- HDU 1698-Just a Hook
- POJ 2154 Color(polya定理+欧拉函数)
- leetcode 334. Increasing Triplet Subsequence 自增序列3个元素
- GYM 100801J Journey to the “The World's Start”【二分+Dp+单调队列】
- 如何判断2条线段是否相交(编程实现)?
- Nginx ngx_http_referer_module模块根据referer屏蔽或禁止访问
- PAT 甲级 1069. The Black Hole of Numbers (20)
- java-工厂模式
- 字段级
- UVA 144 Student Grants
- 《数据结构与算法-Python语言描述》读书笔记(5)第5章栈和队列(关键词:数据结构/算法/Python/栈/队列)
- 排序算法之懒人排序
- Qt学习: QListWidget程序示例
- linux设备编程笔记(1)