【发布时间】:2013-06-10 22:18:49
【问题描述】:
我正在开发一个 HTML5 游戏,作为其中一项功能,我希望更高级的用户能够用 JavaScript 编写简短的脚本,这些脚本可以由游戏中的对象运行。问题是我想限制玩家脚本可以做什么,这样他们就不能打开新窗口、作弊、修改游戏的性质等。但是,我想向脚本公开某些方法,所以他们可以做出有用的东西。
一些人建议我可以使用 Web Workers 来完成这项工作。其他人告诉我,我需要在 javascript 中构建一个解释器来做到这一点。显然,我不能只使用 eval,那么如果有“最佳”方法,我该怎么做?最好的方法是什么?
【问题讨论】:
-
也许你觉得这有帮助:Make sandbox around Function() in Javascript.
-
谁来运行这些脚本:只有一个用户还是多个用户?
-
dandavis,某些玩家群体可以运行某些脚本。我希望这一切都可以互操作。
-
菲利克斯,完美。这正是我所需要的。
标签: javascript html security environment emulation