防盗链在nginx中如何配置,简单演示403forbidden的效果

news/2024/10/19 9:37:57/

一、使用场景:

资源被其他网站无端盗用

服务器压力无端增加

二、实现方法

1.valid_referers指令可以检测被访问资源从哪个地址来

2.通过referer头字段判断

3.若为空,报403错误

nginx的准备工作:

可以看

虚拟机中使用LNMP模拟跨域并结合前端代码解决CORS跨域的简单示例-CSDN博客

参考一下

web1虚拟机的相关改动:

1)修改配置文件/usr/local/nginx/conf/nginx.conf,添加防盗链测试语句

[root@web1 nginx]# vim /usr/local/nginx/conf/nginx.conf
#valid_referers  none 192.168.99.100; 如果请求中的referer 头字段包含者地址是99.100或者没有referer 头字段则有效
#$invalid_referer 如果是无效refer,return 403; server {
...略valid_referers  none 192.168.99.100;if ($invalid_referer){return 403;}
...略
}

2)web1主机编写测试页

路径:/usr/local/nginx/html/index.html

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>
web1
测试页面  --
<a href="http://192.168.99.100/test.html">内容</a>
</body>
</html>

 3)web1编写test.html

vim html/test.html内容就写:test

4)第一次启动nginx使用/usr/local/nginx/sbin/nginx,重启nginx使用/usr/local/nginx/sbin/nginx -s reload命令启动nginx

web2主机的相关改动:

1)web2主机编写测试页

路径:/usr/local/nginx/html/index.html

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>
web2
测试页面  --
<a href="http://192.168.99.100/test.html">内容</a>
</body>
</html>

2)第一次启动nginx使用/usr/local/nginx/sbin/nginx,重启nginx使用/usr/local/nginx/sbin/nginx -s reload命令启动nginx

三、测试

1. 从192.168.99.100主页点内容链接可以访问

2. 但从192.168.99.200点不可以


http://www.ppmy.cn/news/1438435.html

相关文章

Reactjs数据篇

参考代码&#xff1a;GitHub - leellun/zhiqu-web-test2 1 通过createAction创建Action做数据传递 在 Redux 中定义动作的常用方法是分别声明一个动作类型常量和一个动作创建器函数来构造该类型的动作。 store/action.ts import { createAction } from "reduxjs/toolk…

架构师系列- 定时任务(四)- XXl-Job

XXL-JOB是一个轻量级分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展&#xff0c;其中“XXL”是主要作者&#xff0c;大众点评许雪里名字的缩写 和ElasticJob的区别 相同点 E-Job和X-job都有普遍的用户基础和完整的技术文档&#xff0c;都…

面试二十二、跳表SkipLists

跳表全称为跳跃列表&#xff0c;它允许快速查询&#xff0c;插入和删除一个有序连续元素的数据链表。跳跃列表的平均查找和插入时间复杂度都是O(logn)。快速查询是通过维护一个多层次的链表&#xff0c;且每一层链表中的元素是前一层链表元素的子集&#xff08;见右边的示意图&…

leetcode-二叉树的镜像-91

题目要求 思路1 1.遍历一遍二叉树&#xff0c;将左边的结点对应创建一个右边的结点 2.用此方法空间复杂度O(n)&#xff0c;并不是最优 思路2 1.将一个结点的左右子树进行交换&#xff0c;如果左子树还有左右结点&#xff0c;就再交换左子树的左右结点&#xff0c;以此递归下去…

加强小区电动车安全管理:视频监控与AI智能分析技术的应用

一、背景需求分析 在现代化的城市生活中&#xff0c;电动车已成为居民出行的重要方式之一。然而&#xff0c;小区电动车的管理与安全问题也日益凸显。传统的管理方式靠人工巡检&#xff0c;不仅费时费力而且效率十分低下&#xff0c;很难及时发现安全隐患。为保障小区居民的居…

1097 矩阵行平移(语文题,选做)

输入样例&#xff1a; 7 2 99 11 87 23 67 20 75 89 37 94 27 91 63 50 11 44 38 50 26 40 26 24 73 85 63 28 62 18 68 15 83 27 97 88 25 43 23 78 98 20 30 81 99 77 36 48 59 25 34 22 输出样例&#xff1a; 529 481 479 263 417 342 343 样例解读 需要平移的是第 1、…

涨跌失据了?现货白银市场的波动如何捕捉

现货白银市场近期出现了强劲的上涨&#xff0c;但近两个交易日&#xff0c;却出现了令人感觉诧异的大跌。很多刚入场打算买入做多的朋友&#xff0c;面对这两天这么强的跌势都感觉无所适从。到底现货白银市场的波动如何才能捕捉呢&#xff1f;下面我们就来讨论一下这个问题。 用…

win10 修改MySQL8 wait_timeout 等超时和连接数配置

win10 修改mysql8 wait_timeout 等超时和连接数配置 在Windows 10上&#xff0c;要修改MySQL 8的wait_timeout和连接数配置&#xff0c;你可以按照以下步骤操作&#xff1a; 打开服务管理 停止mysql服务 winr services.msc打开MySQL服务器配置文件C:\ProgramData\MySQL\MySQL…