【发布时间】:2017-11-05 17:11:22
【问题描述】:
我正在为一个游戏开发一个 modding api,对于那些好奇的人来说,它是 factorio,但它并不真正相关,而且 Lua 环境非常有限,阻塞了像 setfenv 这样的功能,这是一个 5.1 环境,我可以访问加载字符串、pcall 等。我的问题是,您如何建议运行用户提供的“不安全”代码并限制他们可以访问哪些功能而无需访问环境修改功能? (最好将函数/值列入白名单而不是黑名单,但我会尽我所能)
【问题讨论】:
-
如果你愿意牺牲性能,有几个 Lua-in-Lua 模拟器可用。 (lua-users.org/wiki/LuaInterpreterInLua)
标签: lua