【发布时间】:2023-03-03 09:15:15
【问题描述】:
我在我的 C 应用程序中使用 Lua 作为脚本语言。
它很适合我,但我不明白如何限制 Lua 不调用系统函数,不包含其他模块等。
我希望 Lua 能够只调用我允许的函数,因为用户可以使用完整的 Lua + Lua 模块功能做各种坏事。
【问题讨论】:
标签: lua
我在我的 C 应用程序中使用 Lua 作为脚本语言。
它很适合我,但我不明白如何限制 Lua 不调用系统函数,不包含其他模块等。
我希望 Lua 能够只调用我允许的函数,因为用户可以使用完整的 Lua + Lua 模块功能做各种坏事。
【问题讨论】:
标签: lua
【讨论】:
沙盒是您正在寻找的术语。简而言之,只将您希望用户调用的函数导出到 Lua。就是这么简单,真的。
【讨论】:
您可以通过不加载 os 或 package 模块来完成此操作。不要使用luaL_openlibs,请参阅this post。
【讨论】: