如何在服务器端运行不受信任的代码?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (70)

我试图在沙箱模块的linux + node.js中运行不受信任的javascript代码,但它损坏了,我需要的只是让用户编写打印输出文本的JavaScript程序。

提问于
用户回答回答于

沙箱的基本思想是,你需要将全局变量预先定义为全局变量。

首先替换require()或将其替换为受控的东西。不要忘记进程和“根”,困难的是不能忘记任何东西,这就是为什么依靠别人建立沙箱的好处。

用户回答回答于

它似乎符合要求

https://github.com/asvd/jailed

有机会将主应用程序中的给定方法导出到沙箱中,从而提供任何自定义API和特权组(这一功能实际上是我决定从头开始创建库的原因)。所提到的数学,正则表达式和字符串相关的东西是由JavaScript本身提供的,任何额外的东西都可以从外部显式导出(就像用于与主应用程序通信的一些函数)。

扫码关注云+社区

领取腾讯云代金券