Я работаю над веб-страницей, которая зависит от расширений браузера для выполнения определенных задач.
С этой веб-страницы я могу общаться с браузером Chrome, используя 'externally_connectable' и:
chrome.runtime.sendMessage(string extensionId, any message, object options, function responseCallback)
Здесь хорошо то, что с точки зрения моего веб-сайта я уверен, что я общаюсь с моим расширением, а не с «обратной инженерией» версии моего расширения.
В расширениях Firefox, однако, нет поддержкидля externally_connectable, и я должен использовать события или window.postmessage:
const event = new CustomEvent('msg-for-content-script');
document.querySelector('body').dispatchEvent(event);
Это работает нормально, но проблема в том, что, когда кому-то удается перепроектировать мое расширение, я не могу проверить, является ли расширение моимобщение с действительно моим расширением.
Кто-нибудь может дать совет, как убедиться, что я общаюсь с правильным расширением?