【问题标题】:Is there a Javascript runtime in WebAssemblyWebAssembly 中是否有 Javascript 运行时
【发布时间】:2020-08-09 01:09:36
【问题描述】:

我正在尝试隔离用户 JavaScript 代码以确保安全。 我可以通过 Iframe 安全性和消息传递来做到这一点。

是否有一个可以通过 webassembly 加载的 JavaScript 运行时,我可以将诸如“5+3”之类的简单内容传递给它并读取结果。

如果这是 c# 等,我可以新建和管理 V8 引擎并让它执行 javascript 并传回主机。

【问题讨论】:

  • 我不确定开销是多少,但您始终可以实际使用 iframe,从 C -> Your Javascript -> eval in iframe -> your Javascript -> C 传递。虽然您唯一可以通过这种方式传递的东西是类型数组或可以序列化到/从此类中的东西,我不确定是否有任何方法可以真正保护它。

标签: javascript webassembly isolation javascript-injection


【解决方案1】:

JavaScript 引擎通常是用 C++ 编写的,这使得它们成为使用 Emscripten 编译为 WebAssembly 的理想候选者。是的,您可以将其用于隔离目的 - 请参阅 Figma 的这篇出色的博客文章,其中专门讨论了这一点:

https://www.figma.com/blog/how-we-built-the-figma-plugin-system/

它还讨论了各种其他有用的选项,例如领域。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-11-16
  • 1970-01-01
  • 2022-08-07
  • 1970-01-01
  • 2015-11-16
  • 1970-01-01
  • 2020-08-21
  • 1970-01-01
相关资源
最近更新 更多