gpt4 book ai didi

javascript - 有没有办法在万无一失的沙箱中使用 jsdom?

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

我正在使用 jsdom 通过我的 Node.js 应用程序加载网页。有时,我没有获得完整的 DOM,因为一些网页使用脚本在 onload 事件被触发后动态加载它们的内容。

jsdom 默认情况下停用这些脚本的执行,因为这会导致安全漏洞,如其文档中所述:

The jsdom sandbox is not foolproof, and code running inside the DOM's < script>s can, if it tries hard enough, get access to the Node.js environment, and thus to your machine

我想知道是否有办法使用一些变通方法使其万无一失?我是 Node.JS 开发的新手,因为它是单线程环境,所以我不确定如何创建安全的沙箱。

最佳答案

NodeJS 没有这种开箱即用的安全性。如果您将在 Node 引擎中运行不受信任的第三方代码,则需要使用操作系统工具来隔离和保护它。

你可以调查的事情:

  • 使用 chroot jail 。
  • 使用虚拟机。
  • 使用 Docker 容器。
  • 使用jailed沙箱库(我自己没用过,但是口碑不错)。

对这些方法及其局限性进行一些研究,看看哪种方法最适合您的目的。我认为虚拟机将提供最大的隔离和最小的错误机会,但它的开销最大。所有方法都可以发挥作用。

关于javascript - 有没有办法在万无一失的沙箱中使用 jsdom?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45240172/

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