Песочница скриптов - PullRequest
       26

Песочница скриптов

5 голосов
/ 19 февраля 2010

Меня интересует, как можно использовать язык сценариев для выполнения простых блоков кода в изолированной среде.Языком / средой хоста может быть c # / ruby ​​/ python / java (что угодно, кроме c).Но язык сценариев также может быть чем-то непонятным, таким как javascript / python / ruby ​​/ perl и т. Д.

Мне нужен способ выполнения сценария с традиционными конструкциями программирования, то есть условными / циклами / манипуляциями с датами / массивами и т. Д.Но я не хочу показывать такие вещи, как ввод-вывод, подключение к потокам http, базы данных и т. Д.

В настоящее время я смотрю на spidermonkey с помощью адаптера python, но мне было интересно, есть ли другие варианты, которыеЯ должен рассмотреть.

Ответы [ 2 ]

2 голосов
/ 19 февраля 2010

Lua очень легко вводить в песочницу. Вот ссылка на Lua wiki . Это потрясающий минималистский язык сценариев, который легко встраивать в другой (C или C ++) код. Таким образом, вашим хостом будет Lua, встроенный в какой-то другой код (или просто установленный на заводе интерпретатор Lua). Ваш язык сценариев будет Lua.

Если вы этого не знаете, я уверен, что есть и другие хорошие решения, которые не требуют, чтобы вы изучали новый язык.

1 голос
/ 19 февраля 2010

Вы можете сделать это с помощью .NET (VB, C #, любой язык) через Защита доступа к коду - установите политику на машине так, чтобы не разрешать доступ к любым классам Framework, которые вам нравятся.

См. Настройка политики безопасности .

По умолчанию политика позволяет коду, созданному на локальной машине, делать что-либо;вы можете установить его так, чтобы по умолчанию код не мог вызывать классы ввода-вывода, не мог выполнять HTTP-соединения и т. д.

...