是否可以对 Web 组件进行沙箱处理?

问题描述 投票:0回答:1

我正在我的网站上构建一个仪表板,以便我的客户可以更轻松地可视化他们的数据。我将提供图形小部件,客户可以配置这些小部件以按照自己的喜好查看数据。

我还希望允许我的用户提供他们自己的小部件,他们可以将其上传到我控制的注册表,然后在他们的仪表板中查看这些小部件。

我正在考虑使用 Web 组件作为小部件的界面。是否可以对 Web 组件进行沙箱处理,类似于对 iframe 进行沙箱处理?我不希望用户提供的小部件能够访问页面上的 cookie 或其他数据。我也无法手动审核推送到注册表的每个小部件的每个版本。

security cookies iframe web-component websecurity
1个回答
0
投票

这并不是您从 Web 组件中真正得到的。它们隔离的,因为它们可以拥有 Shadow DOM 以及自己的 CSS 和 JS,不会干扰页面,但在它们内部您仍然可以运行 JS 并访问

window

Shadow DOM 将有助于避免意外泄漏样式或与其他组件发生冲突,但它不是一个可以阻止有目的攻击的沙箱。

您可以使用组件做的就是以易于在应用程序中重复使用的方式构建沙箱。

另外,除了安全沙箱之外,Web 组件是构建这样的商店/注册表的好方法,但是构建这些组件的任何人都必须遵循您的 API/规则并提交到 your 商店。根据您的安全上下文,将某些内容放入与供应商和用户的许可协议中可能会更简单(例如“自担风险使用此组件”),类似于 npm 等大型注册中心所做的事情。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.