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

Nginx静态资源增加权限验证

Nginx静态资源增加权限验证

    • 一、前言
    • 二、解决思路
      • 2.1、方式一
      • 2.2、方式二
    • 三、代码
      • 3.1、方式一
        • 3.1.1、前端代码
        • 3.1.2、后端代码
        • 3.1.3、Nginx调整
        • 3.1.4、注意事项
      • 3.2.方式二
    • 四、参考资料

一、前言

在项目开发的过程中,项目初期,及大部分小型项目都是使用共享磁盘进行静态文件的存储。比如图片,视频等。
在调用接口存储至服务器后,返回文件路径,然后通过Nginx的代理,直接访问文件。
该方式如果在内部网络,问题并不会特别明显。如果暴露在互联网之后,就会有信息泄露的风险。
如果系统文件存储的方式存在一定的规律,如用时间拆分存储,那么便可以通过遍历文件的方式入侵系统获取文件,风险很大。


二、解决思路

2.1、方式一

对于二次开发的项目,涉及的面比较广,一个一个的修改会很耗时。通过简化处理减少改动量。
具体如下:
1、系统登录之后,需要存储token认证信息。
2、在需要访问文件的时候,带入token,在Nginx中鉴权,调用 权限认证接口
3、认证成功则返回文件,反之则拒绝访问。

流程如下:
在这里插入图片描述


2.2、方式二

如果在项目搭建初期,可以采用独立鉴权的方式处理该问题。引入鉴权码的概念。通过鉴权码做一层防火墙。
具体如下:
1、系统登录之后,需要存储token认证信息。
2、在需要访问文件的时候,先调用系统 权限获取接口,传输 文件名称、token。
3、后端根据token、文件名称鉴权。
3.1、当前token是否生效。
3.2、当前token的用户是否拥有该文件的权限。
4、鉴权完成获取鉴权码。
5、使用鉴权码,调用Nginx获取附件,在Nginx中鉴权,调用 权限认证接口
6、认证成功则返回文件,反之则拒绝访问。

流程如下:
在这里插入图片描述


三、代码

3.1、方式一

3.1.1、前端代码

在登录成功之后需要往cookie中存放token。如果已经存在,则不需要处理。

cookies最大4K,token不能超过,不然会设置不上。


3.1.2、后端代码
@GetMapping("/isLgn")
@ResponseBody
public void isLgn(HttpServletResponse response) {try {String token = SessionUtil.getRequest().getHeader("token");if(StringUtils.isEmpty(token)){String cookie = SessionUtil.getRequest().getHeader("cookie");log.info("this cookie is:" + cookie);token = extractToken(cookie);}if(StringUtils.isEmpty(token)){response

相关文章:

  • 计算机二级(C语言)已过
  • Rust 中的 `String`、`str` 和 `str`:深入解析与使用指南
  • Java设计模式之工厂方法模式:从入门到精通
  • 高效管理钉钉收款单数据集成到MySQL的技术方案
  • C——数组和函数实践:扫雷
  • Flutter 3.29.3 花屏问题记录
  • 机器学习第二讲:对比传统编程:解决复杂规则场景
  • CurrentHashMap的整体系统介绍及Java内存模型(JVM)介绍
  • AI Agent(7):Agent规划与决策能力
  • 等保系列(三):等保测评的那些事
  • 【Spring AI 实战】基于 Docker Model Runner 构建本地化 AI 聊天服务:从配置到函数调用全解析
  • 从 Git 到 GitHub - 使用 Git 进行版本控制 - Git 常用命令
  • AI云防护真的可以防攻击?你的服务器用群联AI云防护吗?
  • 基于OpenCV的人脸识别:EigenFaces算法
  • 【愚公系列】《Manus极简入门》028-创业规划顾问:“创业导航仪”
  • TB6600HG-富利威
  • AI与自然语言处理(NLP):从BERT到GPT的演进
  • NextPolish1.4.1 安装与使用-bioinformatics tools54
  • 按位宽提取十六进制值
  • 【动态导通电阻】p-GaN HEMTs正向和反向导通下的动态导通电阻
  • 巴基斯坦关闭全部领空
  • 第32届梅花奖终评启幕,上海京剧院《智取威虎山》满堂彩
  • 秦洪看盘|重估叙事主题卷土重来,给A股注入新活力
  • 多人称华为手机忽现拍照模糊疑存缺陷,售后回应:主摄像头故障
  • Meta正为AI眼镜开发人脸识别功能
  • 福特汽车撤回业绩指引,警告关税或造成15亿美元利润损失