0

我正在尝试了解登录页面的功能。根据规范:

iLandingPage 字段在非零时表示设备制造商希望用户访问以控制其设备的登录页面。当设备连接时,UA 可能会建议用户导航到这个 URL。

据我所知,登陆页面的主要目的是向用户提供通知,建议将哪个页面与 WebUSB 投诉设备一起使用。所以我有几个问题:

  1. 登陆页面是否也阻止用户访问其他网站?Chrome (Chromium) 是否会阻止访问与着陆页不匹配的网站?
  2. 登陆页面是强制性的吗?我们可以通过简单地将 iLandingPage 设置为 0 来避免使用吗?
  3. 如果登陆页面的 URL 是强制性的 - 使其可配置的首选方法是什么(例如在将固件上传到设备之后)?
  4. 我在有关 WebUSB 设备黑名单的线程信息之一中看到了。如何在 Chrome/Chromium 中访问 WebUSB 黑名单?
4

1 回答 1

3
  1. 登陆页面是否也阻止用户访问其他网站?Chrome (Chromium) 是否会阻止访问与着陆页不匹配的网站?

不,登陆页面不用于限制哪些网站可以访问该设备。在早期版本的 WebUSB API 草案中,有自定义描述符定义了哪些域可以访问哪些接口的过滤器。这些描述符不再使用,因此任何通过 HTTPS 提供服务的站点都可以请求访问您的设备。

登陆页面仅用于提示用户存在刚刚检测到的 USB 设备的配套网页。用户没有义务点击它,在某些平台(Windows、Android)上,由于技术限制,通知根本不会显示。

  1. 登陆页面是强制性的吗?我们可以通过简单地将 iLandingPage 设置为 0 来避免使用吗?

这不是强制性的 - 您可以简单地将其设置为零。事实上,如果您不想要登陆页面,您甚至不需要提供 WebUSB 平台能力描述符。即使没有描述符,Chrome 仍允许您从设备选择器中手动选择您的设备。

  1. 如果登陆页面的 URL 是强制性的 - 使其可配置的首选方法是什么(例如在将固件上传到设备之后)?

如上所述,这不是强制性的,但由于GET_URL请求与对平台能力描述符的请求是分开的,因此您可以轻松地在 RAM 中生成描述符并在运行时填写您希望的任何 URL。

  1. 我在有关 WebUSB 设备黑名单的线程信息之一中看到了。如何在 Chrome/Chromium 中访问 WebUSB 黑名单?

Chrome 有两种不同的黑名单:

  1. WebUSB接口类别过滤器限制对某些类别的 USB 接口的访问:音频、视频、HID、大容量存储、智能卡、无线控制器(蓝牙和无线 USB)。
  2. USB 阻止列表根据供应商 ID/产品 ID 对限制对 USB 设备的访问。这主要适用于 U2F 设备。
于 2018-12-30T19:56:28.673 回答