Я думаю об использовании Rhino в качестве языка сценариев, но хотел бы добавить слой, чтобы скрипты не делали ничего и ничего.
В java можно проверять классы и жаловаться, если кто-то обнаружит API, который мыхочу помешать.Например, если вы не хотите, чтобы пользователи касались файловой системы, жалуйтесь, если кто-то обнаруживает обращения к java.io.File и т. Д.
Эквивалент проверки файла класса
- Есть ли этап, на котором можно проверитьскрипт, когда он был загружен, но до его выполнения?
- Вызывается ли тот же обратный вызов, когда eval получает String?
Это будет предпочтительным, поскольку каждый скрипт или скриптлет проверяется только один раз, а после этого ему доверяют.
Перехват во время выполнения всех вызовов метода java
- Вызывает ли Rhino какой-либо обратный вызов при каждой попытке выполнить вызов функции?
- Можно ли установить этот контролер только на определенные API-интерфейсы?например, когда кто-то пытается получить доступ к классу Java.
Это позволило бы другим истинным объектам javascript выполняться без барьера ...
Есть ли какой-либо другой способ предотвращения вызовов объектам java для выполнения вещей, которые я хочу поместить в песочницу?
Rhino SecurityController
Я не совсем уверен, и ему придется попробовать метод callWithDomain ().