Описание тега node-vm2

NoneVm2 - это песочница Node.js, которая может запускать ненадежный код со встроенными модулями Node из белого списка.
1 ответ

Nodejs vm2 - как импортировать скрипты

Предположим, у вас есть скрипт A: определяет библиотеку с: class MathFunctions { add(a, b) => { return a+b; } } И у вас есть скрипт B: как-то повторно использует MathFunctions: const mf = import MathFunctions; console.log(mf.add(2, 2)); И вы хоти…
07 май '18 в 22:18
0 ответов

nodeJS заставляет код выполняться в изолированном контексте VM или создает определенную глобальную переменную

В проекте, над которым я сейчас работаю, мне нужен отдельный контекст для каждого клиента, подключенного к TCP-серверу... Код, который я буду запускать на ВМ в изолированном контексте var sbox = { Client : require("./Client"), server: {clients:[]}, …
0 ответов

Как использовать изолированную программную среду nodejs vm2 с механизмом наследования?

У меня есть сервер nodejs, получающий запрос. Данные, поступающие в этот сервис, являются объектом транзакции следующим образом. { "_id": "5c2f3e4c5f627d785086d0f7", "action_time": 1546600012970, "amount": -0.164, "asset": "SKK", "complete_time": 15…
12 фев '19 в 11:42
1 ответ

При использовании vm2 в worker_threads можно ли совместно использовать экземпляр NodeVM между работниками?

Я использую worker_threads а также vm2 реализовать вещь, похожую на серверную, но я не могу получить экземпляр NodeVM в главном потоке, а затем пройти через workData(из-за worker_threadsограничение), поэтому я могу только new NodeVM в рабочем потоке…
17 янв '19 в 04:49
1 ответ

Node.js Песочница для запуска ненадежного пользовательского кода

Я пытаюсь найти изолированную программную среду node.js, способную запускать недоверенный пользовательский код. Есть несколько постов по этому поводу, но все они старые. Я надеюсь, что актуальный пост поможет.(2011) Как безопасно запускать пользоват…
01 сен '17 в 12:13
0 ответов

Работающий пользователь отправил JavaScript в Node БЕЗОПАСНО

Я делаю небольшой забавный веб-сайт для своих учеников, где они могут представить класс es6, который играет в крестики-нолики, реализовав несколько методов. Код должен быть запущен на бэкэнде, в основном я создаю его класс, затем запускаю несколько …
23 янв '19 в 21:31
0 ответов

Как я могу сохранить код JavaScript в mongodb и отправить код в запросе?

У меня есть код JavaScript. Я выполняю код в Nodejs Vm. Я должен сохранить код в mongodb. И я отправляю постоянный код javascript в запросе. Я хочу отправить код без повреждений. Какие технологии я могу использовать в Nodejs? Пример кода блока; var …
26 фев '19 в 15:17
0 ответов

Дополнение для Vm2 js, которое может безопасно выполнять ненадежный код на языках, отличных от Javascript

Я пытаюсь реализовать веб-приложение Node js, более простая версия которого состоит в том, что пользователи отправляют файлы кода на нескольких языках программирования, таких как C++, Python, Java, Js и т. Д., И им выводится вывод. Однако я не могу …
01 мар '19 в 14:25
1 ответ

Как завершить любой код, который в настоящее время выполняется Node VM2

Я запускаю какой-то песочничный код в Node, используя vm2. Запускаемый код будет в основном асинхронным. Это ненадежный код, и на него нельзя положиться, чтобы соответствовать как-либо - следовательно, поэтому я использую vm2 запустить его. Есть ли …
11 дек '16 в 00:04
1 ответ

Combine NodeJS Fibers + VM Sandbox

Я хочу запустить ненадежный код в Node, который может выглядеть следующим образом: for (var i = 0; i < 5; i++){ green_led(1); sleep(500); green_led(0); sleep(500); } Используя Волокна, я получил синхронное поведение, работающее как ожидалось: var…
09 дек '16 в 05:28
0 ответов

Как получить результаты асинхронного кода изнутри среды песочницы (vm2)?

Я работал над процессом, где мне нужно запустить несколько скриптов (внутри оболочки) в среде песочницы. Но подвох в том, что внутри этой обертки я буду запускать некоторый js-код (который я рассматриваю как собственную логику), используя eval (). Ч…
26 окт '17 в 08:53
1 ответ

Node.js vm2 для обмена информацией между ВМ и основным кодом с использованием функций

Я использую vm2 модуль, и у меня есть код с двумя функциями: get_input() для получения некоторых данных, которые у меня есть, и display() для отображения некоторых данных, но эти функции не будут определены в этом коде. Как мне сделать какую-то внеш…
16 дек '18 в 07:08
1 ответ

Варианты использования NodeJS vm

Я запутался в случаях использования модуля VM в NodeJS. После прочтения чуть-чуть в документации об этом модуле это выглядит просто как причудливый способ сделать eval. Кто-нибудь использовал это и жил, чтобы сказать хвосту об этом случаи использова…
10 сен '18 в 10:36
0 ответов

Установить изолированную среду и файловую систему для nodejs

Я создаю nodejs для нескольких арендаторов на хостинге Plesk и размещаю каждый nodejs для каждого арендатора на каждый поддомен. Но главная проблема сейчас в том, что клиент может запросить файл за пределами своего проекта nodejs, например, tenant1 …
2 ответа

Как получить результат кода, который запускается Node vm2

Недавно я пытался реализовать выполнение песочницы, используя пакет vm2, который был опубликован @Patrik Šimek Я пытаюсь запустить некоторый код JS, который я считаю, что это пользовательская логика, я храню эту логику в строковой переменной. Мне ну…
29 авг '17 в 13:37
0 ответов

Запуск "module.exports = function(foo){...}" в узле vm2

Я новичок в Node и виртуальной машине VM2. В документации по последнему приведен пример его использования: let functionInSandbox = vm.run("module.exports = function(who) { console.log('hello '+ who); }"); functionInSandbox('world'); Вопрос: что это …
10 дек '16 в 21:53
1 ответ

Ошибка ссылки при попытке вернуть строку Nodejs VM

Я использую модуль npm, называемый safe-eval, для оценки кода JavaScript, который я отправляю бэкэнду. Код обычно является функцией, которая будет выполняться внутри safe-eval с параметрами, которые я предоставлю. Проблема заключается в том, что при…
15 фев '19 в 16:37
1 ответ

NodeJS VM2 правильный способ доступа к консоли, когда установлено "перенаправление"

Я использую пакет VM2 для запуска кода пользователя. Я пытаюсь перехватить вывод консоли и установил свойство console объекта NodeVM в значение redirect: // Create a new sandbox VM for this request const vm = new NodeVM( { console: 'redirect', timeo…
11 май '18 в 19:26
1 ответ

ВМ: setTimeout не работает в браузере vm.runInNewContext

Я выполняю сценарий JS, используя модуль vm в браузере, как показано ниже. vm.runInNewContext(codeToEval, sandboxObject); setTimeout, setInterval и другие встроенные методы интервала не работают, даже если я выставляю их в sandboxObject, созданном с…
19 апр '19 в 18:25
1 ответ

Как разрешить доступ к файловой системе

Я хочу предоставить доступ к файловой системе для использования с fs, Как я могу предоставить процессу vm2 доступ к определенному каталогу? Я пытался установить external в true и root из /, Процесс может получить доступ к каталогу при запуске вне vm…
14 июл '19 в 15:47