Ich bin Lua (5.1) in einer C/C++ - Anwendung einbetten.LuaL_openlibs() und Sandbox-Skripts
Ich verwende die LuaL_openlibs()
Funktion, um die Basis-Bibliotheken zu laden. Diese Funktion lädt jedoch einige andere Bibliotheken, die ich deaktivieren möchte, damit sie für meine Lua-Skripte nicht verfügbar sind.
Insbesondere möchte ich die IO-und OS-Module deaktivieren. Gibt es eine Funktion, die ich aufrufen kann, um diese Module programmatisch zu deaktivieren (oder zu entladen), damit ich eine sichere Sandbox-Umgebung für die Ausführung von Lua-Skripten erstellen kann?
Ich sollte beachten, dass dies für Lua 5.1 ist, und während es mit Lua 5.2 funktionieren könnte, ist es nicht der empfohlene Weg mehr. Die beste Sache ist, in der linit.c Akte der lua Verteilung zu schauen und zu sehen, wie sie es tun – Aktau