А почему без форка ? Зачем такое ограничение ?
На мой взгляд - это идеальная изоляция..
Берете любой удобный интерпретатор, хоть питон, хоть перл хоть луа.
Придумываете формат ввода данных, формат вывода данных, формат передачи
микро-программы.
При форке делаете полную изоляцию (chroot, path, и все что нужно).
Все - у вас есть "сопроцессор", который лопатит математику.
On 03/15/2014 04:56 PM, Nick Knutov wrote:
В некотором биллинге (он на перле) надо задать функцию для подсчета цены
в зависимости от некоторых внешних переменных.
Эта функция должна быть простым текстом и редактироваться в админке
простыми людьми (т.е. делать её например хранимой процедурой в БД не
получится).
Биллинг её должен запускать в изолированном контексте (редактрируют её
простые люди, а безопасность важна), без отдельного форка, имея на вход
массив/хеш с переменными и получать такой же ответ. Работа этой функции
может быть не очень быстрой, хайлоада нет.
Я не хочу писать очередной микро-псевдно-язык. Вопрос - можно ли для
этих целей использовать LUA и если это хорошая идея - то как именно?
Lua::API? Inline::Lua? А может PHP::Interpreter? )
Сущность самой функции - математические вычисления на основе входных
параметров. Будет лучше, если ей внутри будут доступны всякие
математические функции для среднего и округлений, но весьма желательно
иметь возможность запретить всё остальное, особенно трогать файлы и
делать внешние хттп запросы.
Как еще можно/лучше решить эту задачу?
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org