我发现this gist使用with和the Harmony direct proxies为第三方代码实现了一个沙箱。它有多有用?使用代理实现一个合适的javascript沙箱是可能的吗?这种方法的怪癖和/或缺点是什么?
with
(在这个问题中,我正在寻找一个纯javascript的解决方案,所以没有Caja和类似的服务器端项目)
发布于 2013-05-29 22:11:05
原则上,这种方法应该是可行的。然而,有几件事需要注意:
显然,这需要将所有不受信任的代码放入-
因此,总的来说,我不推荐这种方法。使用SES或Caja要好得多(不确定在哪种意义上将其称为服务器端)。
(还值得注意的是,ES6的模块加载器将提供一种更干净的方式来沙箱全局对象。但很难说什么时候会有这些东西。不会太快。)
https://stackoverflow.com/questions/16811521
相似问题