Как разрешить обработчик протоколов для всех сайтов в браузере Chrome, а не только для одного сайта?

Вопрос или проблема

Когда вы запускаете обработчик пользовательского протокола, например, добавляя microsoft-edge: в адресную строку в Chrome на Windows, чтобы открыть текущий сайт в Edge, всплывающее окно спрашивает

Открыть Microsoft Edge?

https://example.com хочет открыть это приложение.
Всегда разрешать example.com открывать ссылки этого типа в связанном приложении

введите описание изображения здесь

Как всегда разрешать всем сайтам открывать ссылки этого типа в связанном приложении?

Доступные настройки на chrome://settings/handlers через Конфиденциальность и безопасность > Настройки сайтов > Дополнительные разрешения > Протокольные обработчики – Сайты могут запрашивать обработку протоколов этого не разрешают. Расширения для этого нет.

введите описание изображения здесь

Нет такой опции, и нет API, который бы работал с разрешениями Chrome для использования расширением. Также сомнительно, что что-то подобное когда-либо будет существовать.

Позвольте мне объяснить, почему вы абсолютно не должны доверять всем ссылкам этого типа. Приложение, например, могло бы внедрить протокол, который позволит вам очистить ваши данные. Или совершить покупку — например, 100 подарков на Steam — на данный момент это не функция и, скорее всего, было бы защищено, но вы понимаете идею.

Другое приложение может иметь уязвимость, которая позволяет злоумышленникам выполнять любую команду — например, команду, которая скачивает и выполняет скрипт для шифрования ваших файлов. Представьте себе случайное нажатие на URL во всплывающем окне, которое вдруг появляется на вашем экране, с этой функциональностью. Разработчики Chrome хотят избежать таких ситуаций, так как не могут контролировать другое программное обеспечение.

Если вы хотите быть более рискованным, есть возможность установить политику AutoLaunchProtocolsFromOrigins для браузеров на основе Chromium. Она позволяет устанавливать домены, которым доверяют правильную обработку определённых протоколов. Я думаю, она может позволить использование * для хостов, но не уверен. Я не буду объяснять это подробно, так как это не так удобно, как хотелось бы в данном вопросе. Это может быть полезно, например, для целей разработки.

Ответ или решение

Для решения задачи по настройке обработки протоколов в браузере Google Chrome важно учитывать ограничения, которые разработчики внедрили в целях безопасности. Хотя желание достигнуть такой универсальной настройки понятно, оно сопряжено с потенциальными рисками. Давайте разберемся более глубоко, используя формулу TEA (Теория, Пример, Применение).

Теория:

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

Пример:

Предположим, что у вас есть необходимость использовать определенный протокол, например, microsoft-edge:, чтобы открыть текущую страницу в браузере Microsoft Edge. При выполнении команды в адресной строке вы заметите, что Chrome отображает всплывающее окно с предупреждением и вопросом о разрешении на открытие. В текущих настройках, доступных по пути chrome://settings/handlers, вы можете видеть, что каждое разрешение должно быть дано для конкретного сайта. Это соответствует стратегии минимизации потенциальных рисков.

Применение:

Если вы все же хотите настроить браузер на автоматическую обработку протоколов, не имея возможности сделать это через стандартные настройки, есть одна возможная опция: политика AutoLaunchProtocolsFromOrigins. Эта политика используется для определения доменов, которым будет разрешено автоматически запускать указанные протоколы.

  1. Политики Chrome:

    • Полику можно настроить через групповую политику Windows или конфигурационные файлы на других системах.
    • Политика AutoLaunchProtocolsFromOrigins позволяет задать конкретные домены, которые могут быть связаны с протоколами.
    • Используйте wildcard (*) с осторожностью, поскольку это может существенно увеличить риск безопасности.
  2. Реализация через групповые политики:

    • На Windows можно воспользоваться редактором групповой политики, перейдя в Конфигурация компьютера > Административные шаблоны > Google Chrome.
    • Здесь можно создать или изменить политику, указав доверенные домены для протоколов через файл JSON-формата.
  3. Предостережения:

    • Хотя использование * может показаться удобным, для большинства пользователей использование этой опции представляет собой значительную угрозу безопасности.
    • Рекомендуется применять такие настройки только в контролируемых условиях, например, на корпоративных системах с надежными доменами.

Итог:

Таким образом, полное доверие всех сайтов к выполнению протоколов не только не поддерживается Chrome, но и не рекомендуется. Судя по политике безопасности браузера, более безопасным подходом является предоставление разрешений в индивидуальном порядке. Это может казаться неудобным, но безопасность данных и системы пользователя превыше простоты использования.

Тем не менее, для профессионалов, работающих в специализированных системах, возможность настройки групповых политик, таких как AutoLaunchProtocolsFromOrigins, обеспечивает гибкость и управляемость, когда требуется автоматическое выполнение протоколов в специфических условиях.

Следует помнить, что каждая настройка, связанная с протоколами, потенциально представляет риск для безопасности, и должна рассматриваться как таковая. Рекомендуется использовать данные функции с пониманием всех рисков и последствий.

Оцените материал
Добавить комментарий

Капча загружается...