Как я могу песочнице Clojure? - PullRequest
7 голосов
/ 10 марта 2011

Я пишу приложение, которое позволяет пользователям моего приложения расширять его с помощью Clojure. Clojure вводится через веб-страницу в приложение и «уклоняется» для запуска. У меня вопрос, как я могу изолировать этот код, введенный пользователями, чтобы он ничего не повредил, не вызвал System.exit или что-то в этом роде?

Ответы [ 2 ]

17 голосов
/ 10 марта 2011

Для этого есть библиотека.Ленивый в канале Clojure IRC использует его.Вы можете найти его здесь: https://github.com/flatland/clojail

3 голосов
/ 10 марта 2011

Вы должны иметь возможность ограничить доступ к коду, настроив уровень JDK permissions . Посмотрите на настройки RuntimePermission, например, есть прямая настройка, запрещающая остановку JVM (например, System.exit).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...