Часть нашего приложения Java должна запускать javascript, который написан не разработчиками. Эти не-разработчики используют javascript для форматирования данных. (Простая логика и конкатенация строк в основном).
Мой вопрос заключается в том, как настроить выполнение этих сценариев, чтобы убедиться, что ошибки в сценариях не оказывают серьезного негативного влияния на остальную часть приложения.
- Нужно защищать от бесконечных циклов
- Охрана против появления новых потоков.
- Ограничить доступ к службам и среде
- Файловая система (пример: если недовольный script писатель решил удалить файлы)
- База данных (эта же вещь удаляет записи базы данных)
В основном мне нужно настроить область javascript, чтобы включать только то, что им нужно, и не более.