gpt4 book ai didi

security - 如何禁用 NodeJs 内部模块?

转载 作者:搜寻专家 更新时间:2023-10-31 23:49:25 25 4
gpt4 key购买 nike

我正在评估将 NodeJ 用于共享编程平台的情况。

用户应该能够提交代码并在服务器上运行它。为了给他们最好的基础知识,应该提供几个 NodeJs 模块。

出于安全原因,进程应该被 chroot 以禁止访问系统资源。

最好的方法似乎是使用 child_processes,尤其是 fork()功能。

为了进一步的安全,还应该禁用一些 NodeJs 模块,比如启动额外的子进程。

如何为 child 禁用这些模块?我什至找不到默认禁用某些编译选项,

最佳答案

基本上,您正在寻找的是在受信任的环境中运行不受信任的代码。我猜这里的关键是沙盒。

请注意,有多种解决方案可用于在 Node.js 中创建和管理沙箱,其中包括:

  • gf3/sandbox ,这是 一个漂亮的 node.js javascript 沙箱
  • hflw/node-sandbox ,这是一个高级沙箱库,允许沙箱和父进程之间的通信。

我对它们都没有任何实践经验,但我想这对您来说是朝着正确方向迈出的一步。也许您想在这里与他们分享您的经验?我认为这会很棒 :-)

希望这对您有所帮助。

关于security - 如何禁用 NodeJs 内部模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14174863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com