Я пытался создать онлайн-компилятор Java. Но выполнение клиентского кода на сервере вызывает много проблем с безопасностью.
Я могу думать о немногих - бесконечные циклы, ограниченный доступ к API, ограничение использования памяти и т. Д.
Я посмотрел здесь и здесь . Но у меня есть еще несколько вопросов.
1) Ограниченный доступ к API возможен с помощью инструмента политики. Но как мне проверить использование памяти и процессора (бесконечные циклы, ..)?
2) Инструмент политики предоставляет опции для предоставления разрешений, а не для ограничения. Итак, если я выберу «Разрешение во время выполнения» и getStacktrace в качестве цели, тогда все остальные будут ограничены?