首页 > 解决方案 > 节点模块库中 Window.postMessage 的安全风险

问题描述

我是 Angular 5 和前端的新手。我一直在解决漏洞攻击方面的问题。我有一个使用 Angular 5 编码的通用组件包的 Web 应用程序。(如下图所示)

WebApplication和Packed通用组件

问题是,在我的 Web 应用程序中充当依赖项的打包公共组件具有使用“window.postMessage(message, " * " )"的节点模块,这被发现存在安全威胁。我们使用默认使用 AOT 的 ng build --prod 部署 Web 应用程序。

使用“window.postMessage”发现的一些库是:

node_modules/karma/context/karma.js
node_modules/sockjs-client/dist/sockjs.js
node_modules/setImmediate/setImmediate.js
node_modules/sockjs-client/lib/utils/iframe.js

我想在以下方面寻求帮助:

  1. 有没有办法部署通用组件库,其中 window.postMessage 不会被扫描为威胁(我不知道这是否可能)

  2. 当这些代码是我们使用的不同库的一部分时,我该如何解决 window.postMessage 的威胁?像 karma.js

希望有人能给我一些光明。请帮忙。:( 谢谢。

标签: angularnpmkarma-jasmine

解决方案


我们能够通过将构建脚本更新为:ng build --target=production --environment=prod --base-href /contextroot/ 来解决上述问题

希望它能帮助遇到同样问题的其他人!谢谢


推荐阅读