-Lua 5.1- 在受限环境中使用 rawget/rawset 覆盖 __metatable

我目前正在测试一个严格的自定义环境,利用 _G 并将其设置为锁定的元表,然后使用该元表的 __call 元方法来沙盒化我需要的任何脚本。这限制了对大多数函数和整个 debug 库的访问。我暂时忽略了 rawget/rawset,并且我很好奇是否可以使用 rawget/rawset 覆盖已锁定的 _G 元表。如果您能够帮助我解决问题,我将不胜感激。

-- 编辑 如果您能够提供一个正确的沙盒化 rawset/rawget 的示例,那将非常棒!

点赞