当前位置: 首页 > article >正文

node-js Express防盗链

什么是防盗连

一个简单的说明,假如在前端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.hostname
	        if(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.kler.cn/a/458024.html

相关文章:

  • 复杂对象的创建与组装 - 建造者模式(Builder Pattern)
  • 14. 日常算法
  • JR-RLAA系20路模拟音频多功能编码器
  • raspberrypi-kernel
  • 关于埃斯顿机器人指令含义
  • JVM实战—6.频繁YGC和频繁FGC的后果
  • Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(下)
  • 1.flask介绍、入门、基本用法
  • Python-网络爬虫
  • Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin(自测问题解决!)
  • 【每日学点鸿蒙知识】页面反向传值、图片撑满问题、清除Web缓存、Refresh支持swiper、POP颜色没效果
  • 验证ETL程序产生数据的正确性以及确保数据质量的方法
  • 【畅购商城】详情页详情之商品详情
  • Windows下C++使用SQLite
  • 手机联系人 查询 添加操作
  • 【VulnOSv2靶场渗透】
  • Vue.js组件开发-使用Paho MQTT数据传输
  • 德州仪器 cookie _px3 分析
  • BOOST 库在信号处理领域的具体应用及发展前景
  • 基于Springboot的社区老人健康信息管理系统的设计与实现​
  • 如果你的网站是h5网站,如何将h5网站变成小程序-除开完整重做方法如何快速h5转小程序-h5网站转小程序的办法-优雅草央千澈
  • 脱离电路图编程
  • 2413. 最小偶倍数
  • V-Express - 一款针对人像视频生成的开源软件
  • Mac OS
  • 3.基于 Temporal 的 Couchbase 动态 SQL 执行场景