我试图在沙箱模块的linux + node.js中运行不受信任的javascript代码,但它损坏了,我需要的只是让用户编写打印输出文本的JavaScript程序。
发布于 2018-04-03 15:10:20
它似乎符合要求
https://github.com/asvd/jailed
有机会将主应用程序中的给定方法导出到沙箱中,从而提供任何自定义API和特权组(这一功能实际上是我决定从头开始创建库的原因)。所提到的数学,正则表达式和字符串相关的东西是由JavaScript本身提供的,任何额外的东西都可以从外部显式导出(就像用于与主应用程序通信的一些函数)。
发布于 2018-04-03 16:09:30
沙箱的基本思想是,你需要将全局变量预先定义为全局变量。
首先替换require()或将其替换为受控的东西。不要忘记进程和“根”,困难的是不能忘记任何东西,这就是为什么依靠别人建立沙箱的好处。
https://stackoverflow.com/questions/-100003782
复制相似问题