【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('服务器启动成功')
})
相关推荐
Web极客码2 分钟前
深入了解WordPress网站访客意图
服务器·前端·wordpress
幺风33 分钟前
Claude Code 源码分析 — Tool/MCP/Skill 可扩展工具系统
前端·javascript·ai编程
vjmap40 分钟前
唯杰地图CAD图层加高性能特效扩展包发布
前端·gis
ZC跨境爬虫1 小时前
3D 地球卫星轨道可视化平台开发 Day7(AI异步加速+卫星系列精简+AI Agent自动评论)
前端·人工智能·3d·html·json
ID_180079054731 小时前
淘宝 API 上货 / 商品搬家 业务场景实现 + JSON 返回示例
前端·javascript·json
M ? A1 小时前
Vue 动态组件在 React 中,VuReact 会如何实现?
前端·javascript·vue.js·经验分享·react.js·面试·vureact
vipbic1 小时前
独立开发复盘:我用 Uni-app + Strapi v5 肝了一个“会上瘾”的打卡小程序
前端·微信小程序
IT_陈寒2 小时前
Vite的热更新突然失效,原来是因为这个配置
前端·人工智能·后端
ZC跨境爬虫3 小时前
3D 地球卫星轨道可视化平台开发 Day8(分步渲染200颗卫星+ 前端分页控制)
前端·python·3d·重构·html
竹林8183 小时前
RainbowKit快速集成多链钱包连接,我如何从“连不上”到“丝滑切换”
前端·javascript