网站首页 > 技术教程 正文
我们在日常维护的web服务中经常会有防盗链的需求,毕竟谁家的流量都是花钱买来的。免费被别的网站盗用肯定是不爽的。这时候Nginx的referer模块就可以解决一些简单有效的防盗链问题。
场景:当其他网站通过爬虫或其他方式获得了我们的url,并放到了他的页面中。当用户在他们的网站点击这个URL的时候,浏览器会做一件事,会在这个http请求中添加一个http头部:referer,再通过referer头部,将他们网站的当前url带上,以告知服务器(我们的服务器)本次请求是由哪个页面发起的。
目的:把我们不希望的一些请求拒绝掉(防盗链)。
思路主要是在referer模块中提供了一个新的变量(invalid_referer),这个变量可以根据配置判断referer头部是否合法。然后根据结果来修改
referer模块默认是编译进Nginx的。
相关指令:
Syntax: valid_referers none | blocked | server_names | string ...;
Default: —
Context: server, location
Syntax: referer_hash_bucket_size size;
Default: referer_hash_bucket_size 64;
Context: server, location
Syntax: referer_hash_max_size size;
Default: referer_hash_max_size 2048;
Context: server, location
可以看到valid_referers 指令只能出现在server, location上下文中,不能出现在http下。它的可选值有:none | blocked | server_names | string
而这些值为了加速访问也放到了hash表中。
然后就有了referer_hash_bucket_size 和 referer_hash_max_size来控制hash表的大小。
我们再来看下valid_referers指令:
他可以同时携带多个参数,表示多个referer头部都生效。允许这些请求继续访问。
none: 如果没有referer头的请求也允许访问。
block:允许有referer头部,但referer没有值的请求访问。这可能是因为经过了反向代理的问题。
server_names: 如果referer的域名和我们server_name中的域名匹配。
使用referer模块可以做一些简单的防盗链,因为请求头中的referer可以被修改掉。但是对于大部分的盗链网站都是有效的。
猜你喜欢
- 2024-10-10 Nginx之gzip模块(nginx配置gzip压缩)
- 2024-10-10 Nginx源码分析之模块初始化(初始化nginx命令)
- 2024-10-10 Nginx的Gzip模块配置指令(二)(nginx gzip json)
- 2024-10-10 nginx随机模块——ngx_http_random_index_module
- 2024-10-10 写一个Nginx的模块没有那么难(nginx 模块开发)
- 2024-10-10 Nginx模块主要有三种角色(nginx模块主要有三种角色和什么)
- 2024-10-10 后端开发组件,nginx从模块开始,让你对nginx有全新的理解
- 2024-10-10 12、Nginx模块配置应用——模块概述
- 2024-10-10 了解Nginx模块开发与架构,看这一篇就够了,图表齐全通俗易懂
- 2024-10-10 nginx有哪些模块(nginx有哪些功能)
你 发表评论:
欢迎- 最近发表
-
- linux日志文件的管理、备份及日志服务器的搭建
- Linux下挂载windows的共享目录操作方法
- Linux系统中的备份文件命令(linux系统中的备份文件命令有哪些)
- 麒麟KYLINOS|通过不同方法设置用户访问文件及目录权限
- 「Linux笔记」系统目录结构(linux目录的结构及含义)
- linux中修改归属权chown命令和chgrp命令
- 工作日报 2021.10.27 Android-SEAndroid权限问题指南
- Windows和Linux环境下,修改Ollama的模型默认保存路径
- 如何强制用户在 Linux 上下次登录时更改密码?
- 如何删除Linux文件夹中除某些扩展名之外的所有文件?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)