Nginx如何设置Referer来防止盗图

发布时间 - 2023-05-12 00:00:00    点击率:

如果服务器的图片被别的网站盗链,将影响服务器的带宽以及访问速度,这时我们就需要设置图片文件或视频文件的防盗链功能;

防盗链功能,简单来说就是你可以直接访问该资源,但是不能将我的资源链接放到你自己的服务器上让别人访问,尤其是图片或视频这种比较大的文件,容易导致服务器响应很慢。

如果不是图床,还真怕别的网站直接使用本站图片。这样子流量很可能一下子就被刷光了,毕竟cdn都是白花花的银子买来的。 因此,还是设置一个防盗链吧,nginx就可以完成这个功能了。

一般来说,遵照http协议实现的浏览器,在从a网站访问b网站时,都会带上当前网站的url,以表明此次点击是从何而起的。因此, nginx的这个模块也是依靠这个来实现,所以,如果骇客不加此头部,还是没法愉快的防盗图。

nginx官网文档如下:

syntax: valid_referers none | blocked | server_names | string ...;
default:    —
context:    server, location

nginx referer指令简介

nginx模块ngx_http_referer_module通常用于阻挡来源非法的域名请求.我们应该牢记,伪装referer头部是非常简单的事情,所以这个模块只能用于阻止大部分非法请求.我们应该记住,有些合法的请求是不会带referer来源头部的,所以有时候不要拒绝来源头部(referer)为空的请求.

因此,我们可以在 server 或者 location 块加上代码,我是保存为 valid_referers.conf :

valid_referers none blocked server_names;

if ($invalid_referer) {
 return 403;
}

然后在对应需要的地方加上 include /etc/nginx/valid_referers.conf ,当然,执行这个的前提是已经把 valid_referers.conf 放到对应机器上的 /etc/nginx/valid_referers.conf 路径下。

示例:

 location /articles/img {
  include /etc/nginx/valid_referers.conf;
  root /data/blog/code;
 }


# nginx  # String  # include  # default  # location  # http  # 防盗链  # 我们应该  # 骇客  # 都是  # 我是  # 你可以  # 尤其是  # 你自己  # 是从  # 我们可以 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  网站制作软件有哪些,制图软件有哪些?  javascript基本数据类型及类型检测常用方法小结  iOS UIView常见属性方法小结  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  如何用y主机助手快速搭建网站?  Laravel如何实现多对多模型关联?(Eloquent教程)  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  原生JS获取元素集合的子元素宽度实例  jQuery 常见小例汇总  如何用5美元大硬盘VPS安全高效搭建个人网站?  清除minerd进程的简单方法  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  如何快速生成专业多端适配建站电话?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  如何在建站之星网店版论坛获取技术支持?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  如何确认建站备案号应放置的具体位置?  如何利用DOS批处理实现定时关机操作详解  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  javascript读取文本节点方法小结  如何快速生成ASP一键建站模板并优化安全性?  如何构建满足综合性能需求的优质建站方案?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  linux top下的 minerd 木马清除方法  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  如何确保西部建站助手FTP传输的安全性?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  大连 网站制作,大连天途有线官网?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  创业网站制作流程,创业网站可靠吗?  Laravel distinct去重查询_Laravel Eloquent去重方法  phpredis提高消息队列的实时性方法(推荐)  如何安全更换建站之星模板并保留数据?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Laravel如何配置任务调度?(Cron Job示例)  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  详解Oracle修改字段类型方法总结  Laravel如何实现API版本控制_Laravel版本化API设计方案  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Bootstrap整体框架之JavaScript插件架构  Laravel怎么导出Excel文件_Laravel Excel插件使用教程