是否可以在 Web Worker 中安全地使用 eval 来执行任意用户代码?

Dan*_*Dan 6 javascript eval web-worker

是否有可能以安全的方式卸载将评估给 Web Worker 的自定义用户代码?

Web Workers 的“仅与字符串通信”功能看起来很有前途,但以有趣的方式评估用户代码几乎总是危险的。

我在网上找不到太多关于它的信息。有没有一种好方法可以做到这一点,无论是客户端还是服务器端消毒或其他方式?

Zet*_*eta 5

Web 工作人员无法更改 DOM,因此他们无法创建新元素并以这种方式发起 XSS 攻击。但是,他们可以创建 XMLHttpRequest,这样他们就可以从遵循同源策略的任何内容访问并请求数据。

只要您清理与工作人员之间的消息,您就应该是安全的。仅允许特定的字符串、对象或整数并阻止其他类型的消息。

此外,如果 Web Worker 仅针对每个用户,并且不分布在用户之间,则它们将不允许您的用户执行他们无法使用开发人员控制台执行的任何操作。

也可以看看: