Есть ли безопасный способ для веб-расширения иметь интерфейс внутри вкладки? - PullRequest
1 голос
/ 07 марта 2019
* Веб-расширение браузера

может предоставлять интерфейс для взаимодействия с пользователем, например ( боковые панели sidebar_action) или маленькие значки, которые позволяют всплывающее окно при нажатии browser_action).

Однако я хотел бы, чтобы мое расширение предоставляло интерфейс пользователя, отображаемый непосредственно поверх веб-страницы и, следовательно, в центре текущей открытой вкладки.Прямо внутри вкладки.Чтобы отобразить что-либо внутри вкладки, я использую content-script и изменяю веб-страницы DOM, но мне кажется, что это не безопасный метод, так как он откроется.возможность для кода ненадежной веб-страницы влиять на пользовательский интерфейс (например, он может просто удалить созданный пользовательский интерфейс или, что еще хуже, изменить его, следовательно, злонамеренно взаимодействовать при обмене данными между моим content-script (web extension) и пользователем.

Документация Chromium о content-scripts предупреждает, следовательно:

Оставайтесь в безопасности
В то время как изолированные миры обеспечивают уровень защиты, используяСценарии содержимого могут создавать уязвимости в расширении и на веб-странице.

Этот вопрос ищет ответ, если

a) невозможно иметь пользовательский интерфейс в области содержимоговеб-страницу, на которую также не может повлиять javascript веб-страниц (т. е. DOM всегда можно изменить как для сценария содержимого, так и для javascript веб-страницы) или

b) там яспособ представить пользовательский интерфейс внутри области содержимого веб-страницы, хотя и «безопасным способом» (то есть ненадежный JavaScript веб-страниц не может повлиять на отображаемый пользовательский интерфейс).

...