Wie kann ich eine sichere Lua-Sandbox erstellen?

Daher scheint Lua ideal für die Implementierung sicherer "Benutzerskripte" in meiner Anwendung zu sein.

Die meisten Beispiele für das Einbetten von lua scheinen jedoch das Laden aller Standardbibliotheken zu beinhalten, einschließlich "io" und "package".

So kann ich diese Bibliotheken von meinem Interpreter ausschließen, aber selbst die Basisbibliothek enthält die Funktionen "dofile" und "loadfile", die auf das Dateisystem zugreifen.

Wie kann ich unsichere Funktionen wie diese entfernen / blockieren, ohne nur einen Interpreter zu haben, der nicht einmal über grundlegende Funktionen wie die "ipairs" -Funktion verfügt?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage