特别是,这是关于用lua(luajit-2.0)编写的游戏扩展的。我正在考虑是否应该限制这些脚本可以做什么,并得出一个结论,我可能不应该这样做:
很难正确。听起来很傻,但是我的沙箱很有可能最终还是漏水。
我唯一想到的好处就是在运行第三方脚本时为用户提供某种安全感。
不利之处在于,它对于扩展编写者来说是非常令人讨厌的。也就是说,就目前而言,我本人(游戏内容将主要编写脚本)。
我现在问这个问题的原因是,在我真正拥有任何可展示的东西之前,尽早添加沙箱很容易,但是也会对我自己施加恼人的限制。但是,如果我先继续使用它,然后再决定我确实需要沙箱,那我会遇到问题(我要么不得不重写已经存在的脚本,要么引入某种形式的信任管理系统这似乎比它的价值还要麻烦)。