我使用jsdom
使用Node.js
应用加载网页。
有时,我没有获得完整的DOM,因为有些网页会在触发onload
事件后动态加载内容。
jsdom
默认情况下会停用这些脚本的执行,因为它会导致安全漏洞,如文档中所述:
jsdom沙箱不是万无一失的,而且在DOM内部运行的代码< s>脚本> s可以,如果它足够努力,可以访问Node.js环境,从而访问您的机器
我想知道是否有办法使用一些变通方法使其变得万无一失?我是Node.JS
开发中的新手,因为它是一个单线程环境,我不确定如何创建一个安全的沙箱。
答案 0 :(得分:2)
NodeJS没有开箱即用的这种安全性。如果您将在Node引擎中运行不受信任的第三方代码,则需要使用操作系统工具来隔离并保护它。
你可以研究的事情:
chroot
jail。对这些方法及其局限性进行一些研究,看看哪种方法最适合您的目的。我认为,虚拟机将提供最大的隔离和最小的错误机会,但它具有最大的开销。所有方法都可以起作用。