如何以最简单的方式禁用 lua 中的危险函数?
luaL_openlibs(m_pState);
我使用这个函数加载所有库。我想跳过所有危险的库,例如 IO,但我找不到任何有关如何禁用库的文档。
如何禁用某些库?是否有更危险的库可以让脚本访问系统?
Possible Duplicates:
How can I limit lua possibilities (calling OS functions, modules, etc.)
How can I create a secure Lua sandbox?
luaL_openlibs(m_pState);
I use this function to load all the libs.I would like to skip all the dangerous libs like IO but I just cant find any documentation on how to disable a lib.
How do I disable certain libs? Are there more dangerous libs that can gain the script access to the system?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将
linit.c
的副本添加到您的项目中,并删除您认为危险的任何库。要删除单个函数,请将它们设置为零。另请参阅来源 http://www.lua.org/demo.html" rel="nofollow">Lua 演示。Add a copy of
linit.c
to your project and remove any libraries that you deem dangerous. To remove individual functions, set them to nil. See also the source of the Lua demo.