Есть 2 приложения, лежат рядом в папках А и В. "Приложение" это html+js код, все в открытом виде. Приложения общаются с локальным сервером независимо друг от друга. Для идентификации используют каждое свой ключ. Но так как код открыт, и приложения лежат рядом, то "подсмотреть" чужой код и выдать себя за другое приложение - не сложно. Ключ задается после установки приложения и заранее не известен. Подсмотреть чужой код можно на этапе написания приложения, на этапе выполнения уже не получится, если только не подключить его файлы. В динамическом подключении чужих файлов и есть основная проблема безопасности и я не знаю как ее лучше закрыть.
Вопрос - как лучше изолировать приложения, чтобы их настройки были недоступны друг другу? Или как хранить настройки в этом случае? Сразу скажу, что не рассматриваются варианты с разными правами на папки приложений и т.п.
Мне пока в голову приходит только делать подпапку с рандомным названием, тогда другое приложение подключиться к соседнему не сможет, так как не будет знать точного пути. Но это как-то не очень изящно. Может быть есть более простой способ?
что-то не понятно, против кого играем: двух разработчиков, которые на одном сервере работают без разграничения прав, и хотят каждый стащить у другого ключ апи?
Сергей Соколов, Пусть будет против двух разработчиков. Условно говоря, это некие плагины к сервису, которые лежат рядом и за код которых нельзя поручиться. И лучше их запускать в условной песочнице.
Александр, Алисе, чтобы украсть код Боба, надо знать, где лежит его проект, и как устроен? и в своем уже коде начать включать файл с настройками Боба. Так?
acwartz, Вполне вариант. Но накладно получается, все же каждый экземпляр контейнера довольно много может весить, а если их будет много... Но обдумать стоит, да.
Александр, ну вариантов у вас не особо много, лет 5-10 назад вообще полноценные виртуалки поднимать пришлось бы. А зачем само приложение туда пихать? Это же среда выполнения только в докере находится, пока приложение не работает, оно никуда не смотрит.