【发布时间】:2017-03-02 20:01:06
【问题描述】:
我正在开发一种工具来帮助教授编程,并且在某个时候,我让客户端将 javascript 作为字符串发送到服务器。我总是会从他们的代码中调用函数 A 和 B,但我不确定如何限制他们的访问?
我现在在做什么:
eval(code);
userFunctionA = eval("getA");
userFunctionB = eval("getB");
var result = userFunctionA(param1, param2);
不幸的是,通过使用 eval,他们可以访问我所有的全局变量和其他函数,我该如何限制他们的访问权限?
这是我找到的最好的参考,但他们非常关心“窗口”,因为我的是节点服务器,我没有窗口,我不能使用建议的 iFrame 或工作人员:Is it possible to restrict the scope of a javascript function?
注意:我正在寻找一种解决方案,该解决方案不需要我在阅读之前将他们的代码字符串分解为函数,因为这会导致无法学习以下内容:
function a() {fdafs}
b = a();
a = function (x){fsadg}
【问题讨论】:
标签: javascript node.js server