sourcemap文件泄露

SourceMap的作用

SourceMap在其中扮演了一个十分重要的角色,用来作为源代码和编译代码之间的映射,方便开发定位问题。
一般在压缩 js 的过程中,会生成相应的 sourcemap 文件,并且在压缩的 js 文件末尾追加 sourcemap 文件的链接 ,如://# sourceMappingURL=xxxx.js.map。这样,浏览器在加载这个压缩 过的js 时,就知道还有一个相应的 sourcemap 文件,也会一起加载下来,运行的过程中如果 js 报错,也会给出相应源代码的行号与列号,而非压缩文件的。

修复方案

sourcemap不应让攻击者访问。 不要暴露给互联网,而应让开发工具从开发人员的机器上禁止它们。

(1)在scripts/build下的build.js 文件中添加如下配置:
process.env.GENERATE_SOURCEMAP = ‘false’;

(2)针对 Vue框架在vue.config.js中配置:

productionSourceMap: false

(3)针对webpack的在config/index.js中的build对象中,将productionSourceMap设置为false。这样在生产环境下就不会生成source-map文件。

你可能感兴趣的:(web安全,安全)