【Express】防盗链

js 复制代码
const express = require('express');
const app = express();
app.use((req, res, next) => {
  const referer = req.get('referer')
  // console.log(referer)
  if (referer) {
    const url = new URL(referer)
    const hostname = url.hostname
    if(hostname !== 'localhost') {
      res.status(404).send('<h1>404 NOT FOUND</h1>')
      return 
    }
  }
  next()
})
app.use(express.static(__dirname + '/public'))
app.listen(3000, () => {
  console.log('服务器启动成功')
})
相关推荐
xiaoqi92215 分钟前
React Native鸿蒙跨平台如何实现分类页面组件通过searchQuery状态变量管理搜索输入,实现了分类的实时过滤功能
javascript·react native·react.js·ecmascript·harmonyos
打小就很皮...27 分钟前
Tesseract.js OCR 中文识别
前端·react.js·ocr
qq_1777673738 分钟前
React Native鸿蒙跨平台实现应用介绍页,实现了应用信息卡片展示、特色功能网格布局、权限/联系信息陈列、评分展示、模态框详情交互等通用场景
javascript·react native·react.js·ecmascript·交互·harmonyos
2603_9494621043 分钟前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter
wuhen_n1 小时前
JavaScript内存管理与执行上下文
前端·javascript
Hi_kenyon1 小时前
理解vue中的ref
前端·javascript·vue.js
jin1233222 小时前
基于React Native鸿蒙跨平台地址管理是许多电商、外卖、物流等应用的重要功能模块,实现了地址的添加、编辑、删除和设置默认等功能
javascript·react native·react.js·ecmascript·harmonyos
2501_920931702 小时前
React Native鸿蒙跨平台医疗健康类的血压记录,包括收缩压、舒张压、心率、日期、时间、备注和状态
javascript·react native·react.js·ecmascript·harmonyos
落霞的思绪3 小时前
配置React和React-dom为CDN引入
前端·react.js·前端框架
Hacker_Z&Q3 小时前
CSS 笔记2 (属性)
前端·css·笔记