Как именно Chrome (Chromium) обрабатывает целевую страницу в протоколе WebUSB? - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь понять функцию целевой страницы.Согласно спецификации:

Поле iLandingPage, если оно не равно нулю, указывает целевую страницу, которую производитель устройства хотел бы, чтобы пользователь посетил, чтобы управлять своим устройством.UA МОЖЕТ предложить пользователю перейти по этому URL, когда устройство подключено.

Насколько я понимаю, основная цель целевой страницы - предоставить пользователю уведомление о том, какую страницу рекомендуется использовать.с устройством жалобы WebUSB.Итак, у меня есть пара вопросов:

  1. ли целевая страница также мешает пользователю получить доступ к другим веб-сайтам?Блокирует ли Chrome (Chromium) доступ к сайтам, которые не соответствуют целевой странице?
  2. является ли обязательной целевая страница?Можем ли мы вообще отказаться от использования, просто установив для iLandingPage значение 0?
  3. , если URL для целевой страницы является обязательным - какой предпочтительный способ сделать его настраиваемым (например, после загрузки прошивки на устройство)?
  4. Я видел в одной из веток информацию о черном списке для устройств WebUSB.Как получить доступ к черному списку WebUSB в Chrome / Chromium?

1 Ответ

0 голосов
/ 30 декабря 2018
  1. неужели целевая страница также не позволяет пользователю получить доступ к другим веб-сайтам?Блокирует ли Chrome (Chromium) доступ к сайтам, которые не соответствуют целевой странице?

Нет, целевая страница не используется для ограничения доступа к устройству веб-сайтов.В более ранней версии черновика API WebUSB были пользовательские дескрипторы, которые определяли фильтры, для каких доменов можно было получить доступ к каким интерфейсам.Эти дескрипторы больше не используются, поэтому любой сайт, обслуживаемый по HTTPS, может запросить доступ к вашему устройству.

Целевая страница используется только для того, чтобы сообщить пользователю, что для USB-устройства имеется веб-страница-компаньон, которая была простообнаружено.Пользователь не обязан нажимать на него и на некоторых платформах (Windows, Android) уведомление вообще не отображается из-за технических ограничений.

обязательна ли целевая страница?Можем ли мы вообще отказаться от использования, просто установив iLandingPage в 0?

Это не обязательно - вы можете просто установить его в ноль.Фактически, если вам не нужна целевая страница, вам даже не нужно предоставлять дескриптор возможностей платформы WebUSB.Chrome по-прежнему позволяет вам вручную выбирать устройство из средства выбора устройств даже без дескриптора.

если URL для целевой страницы является обязательным - какой предпочтительный способ сделать его настраиваемым (например, после загрузки прошивки на устройство)?

Как указано выше, это не обязательно, но поскольку запрос GET_URL отделен от запроса дескриптора возможностей платформы, вы можете легко сгенерировать дескриптор в оперативной памяти и заполнить любой URL-адрес, какой пожелаете, во время выполнения.

Я видел в одной из веток информацию о черном списке для устройств WebUSB.Как получить доступ к черному списку WebUSB в Chrome / Chromium?

Существует два разных черных списка для Chrome:

  1. Фильтр классов интерфейса WebUSB ограничивает доступ к определенным классам интерфейсов USB: аудио, видео, HID, запоминающее устройство, смарт-карта, беспроводной контроллер (Bluetooth и беспроводной USB).
  2. * Блок-лист USB ограничивает доступ к USBустройства, основанные на их паре ID производителя / продукта.Это в основном относится к устройствам U2F.
...