2013-05-24 2 views
2

У меня есть экземпляр Node.JS, который динамически вставляет фрагменты Javascript для выполнения из базы данных, где они хранятся в виде строк. Моя проблема в том, что мне нужно, чтобы Sandbox исполняемый Javascript получал доступ ко всему, что может скомпрометировать фактический экземпляр Node.JS, базу данных или другой исполняемый Javascript.Node.JS Можно ли изолировать или ограничить доступ к функции?

Есть ли способ, которым я могу это сделать без фактического запуска отдельного экземпляра узла для каждого процесса?

В основном нужно положить в место безопасности, чтобы убедиться, не жулик браузер выбежала

+8

Это кажется очень страшной идеей; o –

+0

Если вы в состоянии изолировать этот код правильно, вы, вероятно, не сможете ничего сделать полезного. Кроме того, как только вы позволяете этим фрагментам делать какие-либо операции ввода-вывода, вы открываете себе огромный список проблем безопасности. Представьте, что вы теоретически изолировали код, но есть ошибка в узле или стороннем модуле, который позволяет выполнять произвольный код. – BeWarned

ответ

0

Похоже this может быть то, что вы ищете.

npm install sandbox 

Однако, он не обновлялся более года. Таким образом, вам может быть лучше использовать child_process.fork(), как описано в this posting.

+0

Выглядит многообещающе! благодаря – Rob

Смежные вопросы