Ich schreibe eine Anwendung, die es Benutzern meiner Anwendung erlaubt, sie mit Clojure zu erweitern. Die Clojure wird über eine Webseite in der Anwendung eingegeben und "evaled" ausgeführt. Meine Frage ist, wie kann ich diesen von den Benutzern eingegebenen Code sandboxen, so dass er nichts beschädigt oder System.exit oder ähnliches anruft?
Sie sollten in der Lage sein, den Zugriff auf Code einzuschränken, indem Sie die Berechtigungen System.exit
Dafür gibt es eine Bibliothek. lazybot im Clojure IRC chanel benutzt es. Sie können es hier finden: Ссылка
Tags und Links clojure