vitali1995
@vitali1995

Как исполнять пользовательские модули в песочнице?

Приветствую. Есть задача: расширяемая пользователями система, которая принимает js-код и исполняет на сервере. Единственный безопасный способ, который мне виделся - это создание функции из текста. Вроде бы способ безопасный: из global исключены require, __dirname и другие серверные плюшки. Но вот незадача: таки пробрался в эту функцию process :/

console.log(Function("return process")());

Как можно решить эту проблемку?
  • Вопрос задан
  • 145 просмотров
Решения вопроса 2
0xD34F
@0xD34F
Конструктор Function помимо тела функции позволяет определять ещё и параметры - так что process можно подменить на всё, что угодно.

Как-то так: Function("process", "return process")(null).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы