我在我的C应用程序中使用Lua作为脚本语言。
它很适合我,但我无法理解如何限制Lua不要调用系统功能,包括其他模块等。
我希望Lua只能调用我允许的函数,因为用户可以使用完整的Lua + Lua模块功能执行所有类型的错误操作。
答案 0 :(得分:5)
查看Lua-users wiki上的Simple Sandbox:http://lua-users.org/wiki/SandBoxes
相关SO讨论:
答案 1 :(得分:2)
Sandbox是您正在寻找的术语。简而言之,只向Lua导出您希望用户调用的函数。就这么简单,真的。
答案 2 :(得分:0)
您可以通过不加载os
或package
模块来完成此操作。不要使用luaL_openlibs
,请参阅this post。