我在我的 Node.JS 应用程序中运行 Sandbox 模块,该应用程序从我的数据库运行动态脚本。默认情况下,沙盒会阻止访问 Node 方法和 Master 进程中的任何其他内容。我试图弄清楚如何包含我选择的库和方法。
该过程仅运行sandbox.run()
作为字符串构建的代码。
我在我的 Node.JS 应用程序中运行 Sandbox 模块,该应用程序从我的数据库运行动态脚本。默认情况下,沙盒会阻止访问 Node 方法和 Master 进程中的任何其他内容。我试图弄清楚如何包含我选择的库和方法。
该过程仅运行sandbox.run()
作为字符串构建的代码。
我不确定 Sandbox 模块,但您可以使用节点核心中的 VM 模块。从创建上下文开始,然后使用runInContext。
您正在寻找的模块是vm2。vm2
是一个沙箱,可以使用列入白名单的内置节点对象安全地运行不受信任的代码。