如何隔离不安全的JavaScript代码

时间:2009-11-09 17:15:41

标签: javascript security

我需要在javascript中隔离用户编写的代码片段。现在,我能想到的最有趣的事情就是关闭:

function executor() {
        window.alert('Hello!');
        size0 = document.getElementById("load").innerHTML;
        window.alert('zero:' +  size0);
        (function(document){
                // document = {"innerHTML":"empty"};
                window.alert('Hello again!');
                size1 = document.getElementById("load").innerHTML;
                window.alert('first:' + size1);
                (function(window){
                        size2 = document.getElementById("load").innerHTML;
                        window.alert('Hello now!');
                        window.alert('second:' + size2);
                        // window.alert('second:' +document.getElementById('load').size());
                })("empty");
        })("empty");
}

有更好更安全的方法吗?我可以关闭数组之类的各种内容prototype吗?

2 个答案:

答案 0 :(得分:4)

据我所知,沙盒javascript的最简单,最好的方法是通过iframe。这是blog post可能会有所帮助。

答案 1 :(得分:3)

您可以从Google查看Caja。它专为安全,安全地运行第三方脚本而设计。