L
O
A
D
I
N
G

漏洞扫描——react项目源代码泄漏

安全部门对我们前端项目进行漏洞扫描发现,前端有一个React项目生产环境源代码泄漏,解决过程的记录

1、React项目源代码泄漏

安全部门给我们的描述是:公网系统源代码泄露 。漏洞详情:没有正确配置,导致项目源码泄露

定位到问题:

image.png

2、为什么出现了项目源码泄漏

这是因为source-map,源映射的原因:

在前端开发中,源映射(Source Maps)是一种将压缩或编译后的代码映射回源代码的技术。这使得开发者可以在调试时查看原始的、未压缩的代码,而非难以阅读的生产环境代码。

在许多构建工具和框架中(例如 Create React App),process.env.GENERATE_SOURCEMAP 是一个环境变量,用于控制是否生成源映射文件。当你将 process.env.GENERATE_SOURCEMAP 设置为 ‘false’ 时,构建工具将不会生成对应的源映射文件。

如果源映射文件存在,用户或恶意攻击者可以使用它们轻松地调试和查看原始源代码。这可能会导致源代码的某些私有逻辑和实现细节暴露,从而带来潜在的安全风险。

3、解决方式

React项目在需要将环境变量GENERATE_SOURCEMAP设置为false

1
process.env.GENERATE_SOURCEMAP = 'false';

然后编译打包上传服务器,可以看到已经解决了源代码泄漏的问题
企业微信截图\_17364046515706.png

设置为 false 的影响

  • 不生成源映射:当设置 process.env.GENERATE_SOURCEMAP 为 ‘false’,构建过程将禁用源映射的生成。这意味着在生产环境中用户无法访问源映射文件,阻止了他们查看源代码。
  • 代码可读性:虽然在调试过程中,没有源映射可能使得错误更难追踪,但在生产环境中保护源代码是更为重要的。
  • 提高安全性:通过不生成源映射,减小了源代码被分析和利用的风险。

当设置 process.env.GENERATE_SOURCEMAP 为 ‘false’ 时,你可以减轻源代码泄漏的风险,因为用户无法获得源映射文件,从而无法轻松地查看原始代码。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2022-2025 耀耀切克闹
  • 访问人数: | 浏览次数:

      我是穷比,在线乞讨!

      支付宝
      微信