Сторонние javascript и безопасность
Всем доброго времени суток!
Ситуация такая. Допустим мы создаем некий SPA-приложение а-ля microsoft word. Нам нужно разработать архитектуру таким образом, чтобы сторонние производители могли создавать свои приложения и эти приложения могли по выбору пользователя подключаться к нашему и исполнять свой функционал. Например, можно подключить модуль, который может сделать выделенный текст жирным. Вот вопрос заключается в том, какой должна быть архитектура такого приложения, чтобы сторонний скрипт был безопасен для основного приложения, пользовательских данных, других приложений и т.д.? |
Может не совсем понятно сформулировал вопрос? Если надо уточнить - напишите пожалуйста. Неужели никто не сталкивался с такой задачей?
|
selecter,
чтобы посторонний скрипт не мог сделать ничего опасного, его надо запускать в iframe с отдельным доменом. Обмениваться данными через postMessage https://learn.javascript.ru/cross-wi...th-postmessage. Тут, конечно, будут ограничения. Гораздо больше возможностей будет, если скрипт запускать у себя на странице. Но это можно делать только для проверенных скриптов. Придется делать премодерацию, запретить автообновление по-тихому, и т.д. В общем, каждый раз тупо изучать, что в коде поменялось, нет ли каких закладок. |
Alexandroppolus,
спасибо за ответ. Я специально не стал упоминать про iframe чтобы не задавать вектор. Но, видимо, это действительно единственный путь. Как я понимаю, нужно создать API, которое предоставляет наружу некий функционал. Кроме как через API-шные функции достучаться до целевой страницы никак нельзя. И эти функции пользуют сторонние скрипты, которые подгружаются в iframe. Я правильно понимаю? |
Часовой пояс GMT +3, время: 05:45. |