1
我正在爲遊戲設計一個modding api,對於那些好奇它是factorio,但它並不真正相關,並且Lua環境是HEAVILY有限的,阻止像setfenv
這樣的函數,它是一個5.1環境並且我可以訪問loadstring,pcall等。我的問題是,如何建議運行由用戶提供的「不安全」代碼,並限制他們可以訪問哪些功能而無需訪問環境修改功能? (最好是白名單功能/值而不是黑名單,但我會盡我所能)通過loadtring在Lua中運行不受信任的代碼
如果您願意嚴重犧牲性能,可以使用幾個Lua-in-Lua仿真器。 (http://lua-users.org/wiki/LuaInterpreterInLua) – Stormswept