node-js Express防盗链

news/2025/1/9 12:28:52/

什么是防盗连

一个简单的说明,假如在前端img标签想要引用图片网站上的图片,当你将图片地址放到img标签上想要显示的时候你发现,图片显示不了,这说明网站采用了防盗链。

怎么实现的呢

在请求头中一般会有 Referer,它会自动携带当前网页的域名、协议、端口发送请求。
在这里插入图片描述

那就可以通过这个来进行防盗链设置了
目录结构
在这里插入图片描述
html页面
在这里插入图片描述

	const express = require('express')const app = express()app.use((req,res,next)=>{const referer = req.get('referer')if(referer){let url  = new URL(referer)let hostname = url.hostnameif(hostname !=='127.0.0.1'){console.log('访问失败')res.status(404).send('sjjjsjs')return;}}next()})// 使用静态中间件app.use(express.static(__dirname+'/publick'))app.listen('3000',()=>{console.log('启动成功'); 
})
})

通过http://localhost:3000和http://127.0.0.1:3000方式分别访问localhost访问并没有返回图片,而127.0.0.1正常返回了图片


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

相关文章

【商业化】【微软商店】微软打包时报找不到img/logo.ico

【背景】 发现用pyinstaller打包后的python项目并不维持原有的文件夹结构,而是将所有资源都放到一个叫_internal的文件夹下,导致inno setup生成安装程序后找不到原本主目录下的img/logo.ico。我采用的解决办法就是将_internal文件夹下的img文件夹拷贝一份到主目录再用inno s…

嵌入式开发之使用 FileZilla 在 Windows 和 Ubuntu 之间传文件

01-FileZilla简介 FileZilla 是一个常用的文件传输工具,它支持多种文件传输协议,包括以下主要协议: FTP (File Transfer Protocol) 这是 FileZilla 最基本支持的协议。FTP 是一种明文传输协议,不加密数据(包括用户名和…

技术实践︱利用Docker快速体验Matterport3DSimulator!让视觉语言导航(VLN)任务入门再无门槛!

Matterport3DSimulator 是一个专门用于视觉语言导航(Visual Language Navigation, VLN)任务研究的仿真平台,它提供了丰富的三维场景和物理交互功能。然而,由于其安装过程的复杂性以及所需数据集的庞大,这为初学者设置了…

C与语言GDB调试

C语言第二十天笔记 GDB GDB是GUN开源组织发布的一款强大的Unix/Linux下的程序调试工具。 GDB常用命令 GDB查看源代码指令——list 显示指定位置的周围的源代码;可以通过行号、文件名、函数名以及三者之间的组合来定位指定位 置,显示代码的行数可以通…

ubuntu 使用samba与windows共享文件[注意权限配置]

在Ubuntu上使用Samba服务与Windows系统共享文件,需要正确配置Samba服务以及相应的权限。以下是详细的步骤: 安装Samba 首先,确保你的Ubuntu系统上安装了Samba服务。 sudo apt update sudo apt install samba配置Samba 安装完成后&#xff0c…

新年算法题:矩阵对称性检测

引言: 2025年的新年钟声即将敲响,作为一名算法爱好者,你将帮助圣诞老人完成一项重要任务——判断新年的密码是否具有对称性。这个问题简单但充满趣味,快来挑战吧! 题目背景 在“极光之城”,圣诞老人准备在…

机器学习笔记——正则化

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本笔记介绍机器学习中常见的正则化方法。 文章目录 正则化L1 正则化(Lasso)原理使用场景优缺点 L2 正则化(Ridge)原理…

Unity-Mirror网络框架-从入门到精通之Basic示例

文章目录 前言Basic示例场景元素预制体元素代码逻辑BasicNetManagerPlayer逻辑SyncVars属性Server逻辑Client逻辑 PlayerUI逻辑 最后 前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。Mirror是一个用于Unity的开源网络框架,专为多人…