Javascript沙盒

Lou*_*uis 6 javascript sandbox with-statement

我想让开发人员在Javascript中为一个网站编写一些自定义应用程序,但是我想要沙箱,这样他们就不能做任何顽皮的事情,比如重定向用户,将主体显示设置为无等等.我在Javascript中有一个命名空间他们需要的功能存在于那里,所以我想创建一个沙箱将是一个问题:

with(Namespace) {
    //App code goes here where they can only access Namespace.*
}
Run Code Online (Sandbox Code Playgroud)

如何轻松解决这个问题以及可以采取哪些其他方法?宁愿不必审核每个提交的应用程序.

CMS*_*CMS 8

那么,目前沙箱代码的选项是:

两者都允许您创建一个安全的环境,在该环境中限制对全局对象和DOM的访问.

这些项目的主要目的是允许您安全地嵌入来自第三方的小部件和任何Web内容.


Lau*_*nen 1

要强制实施沙箱,您必须在执行代码之前检查代码,捕获任何非法代码,如果发现,以某种方式阻止它运行。时间长了非常繁琐而且容易出错。

Facebook 至少在他们早期的平台上是这样做的,作为一名开发者,我绝对不喜欢它。他们限制了可以使用的本机方法,并为某些方法提供了有限的包装器。