2016-06-10 2 views
2

Я работаю над системой плагинов для моего приложения sails.js. По соображениям безопасности мне нужно избавиться от глобальной переменной sails, в которой хранятся данные, такие как содержимое файлов конфигурации и т. Д. Я не хочу определять его глобально, так как это нарушит мое приложение. Точка входаНеопределенные глобальные переменные в определенных файлах

писать софт будет выглядеть следующим образом:

module.exports = function (pluginManager) { 
return { ... } 
} 

Где pluginManager будет единственным разрешенным ссылка на код приложения.

Возможно ли выполнить код плагина в изолированной среде в виде песочницы? Я рассмотрел использование API child_process, но я не знаю, насколько это повлияет на производительность и стабильность приложения.

+1

Wow, sails использует глобальные переменные? Какой ужасный выбор дизайна! –

+0

Да, но с другой стороны, для того, чтобы требовать, чтобы каждая модель была бы очень больной. – Selenir

ответ

0

В вашем globals.js я бы установить экземпляр Sails ложь, так же, как:

парусов: истинные

Тем не менее, вы можете получить доступ к глобал через req._sails.

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