源地图安全性

o.v*_*.v. 2 javascript security google-chrome source-maps

在逐步使用缩小的库代码时,源映射非常有用.使用源映射的.js文件的前几行默认情况下看起来像这样:

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=jquery.min.map
*/
Run Code Online (Sandbox Code Playgroud)

如果您没有jquery.min.map在同一目录中,支持源映射的浏览器将产生冗余的http请求,从而导致404错误(听起来很熟悉,有人喜欢?).

我注意到sourceMappingURL可能指向另一个域; 我不是在提倡这种做法,但它似乎不受CORS的影响:

/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
//@ sourceMappingURL=//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.map
*/
Run Code Online (Sandbox Code Playgroud)

映射的未经授权的来源是否安全?即如果在上面的示例中,映射的服务器被泄露并且恶意代码被添加到源中,是否会/将被执行?如果您正在调试代码并单步调试代码呢?我找不到任何能够解决这个问题的实现细节.

Bar*_*mar 5

当您单步执行代码时,您将执行缩小的代码,而不是源映射中的代码.源映射仅用于在调试器中显示.