我正在编写一个允许用户执行任意 javascript 代码的 Node 应用程序 - 一种扩展到常规 UI 之外的“内部 API”/业务流程。
我正在寻找提供以下功能的沙箱环境:
在不生成全新线程的情况下单独执行 - 这将由成千上万的用户运行,我宁愿坚持使用无法访问父调用堆栈的匿名函数......或者......在线程事件...跨多个服务器生成的能力。
在解析/执行错误时抛出异常的语法检查与导致整个应用程序崩溃的对比。
禁用函数/var 访问的能力。我试图阻止对 Node 的 I/O 的访问...因此用户无法将其转换为 DoS 脚本或读取/etc/passwd,但可以运行任何 native 语法和预先批准的函数列表。
超时控制...因此执行上限可以应用于
while(true) do_intensive_stuff();
等
想到什么明显的选择?
最佳答案
Google 搜索“node js sandbox”,你会得到一些不同年龄和成熟度的项目。
关于javascript - 嵌入式 Node/javascript 沙箱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11646741/