Chrome(Chromium)如何完全处理WebUSB协议中的登录页面?

时间:2018-12-30 13:12:56

标签: google-chrome chromium webusb

我试图了解目标网页的功能。根据规格:

  

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

据我了解,目标网页提供的主要目的 通知用户WebUSB投诉设备建议使用哪个页面。所以我有几个问题:

  1. 登录页面是否还会阻止用户访问其他网站? Chrome(Chromium)是否阻止访问与登录页面不匹配的网站?
  2. 登陆页面是强制性的吗?只需将iLandingPage设置为0,就可以完全避免使用吗?
  3. 如果目标网页的网址是强制性的-使其可配置的首选方式是哪种(例如,将固件上传到设备后)?
  4. 我在一个线程中看到了有关WebUSB设备黑名单的信息。如何在Chrome / Chromium中访问WebUSB黑名单?

1 个答案:

答案 0 :(得分:3)

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

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

登录页面仅用于提示用户刚刚检测到USB设备的配套网页。用户没有义务单击它,在某些平台(Windows,Android)上,由于技术限制,该通知完全不显示。

  
      
  1. 登陆页面是强制性的吗?只需将iLandingPage设置为0,就可以完全避免使用吗?
  2.   

这不是强制性的-您只需将其设置为零即可。实际上,如果您不需要登录页面,则甚至不需要提供WebUSB平台功能描述符。即使没有描述符,Chrome仍可让您从设备选择器中手动选择设备。

  
      
  1. 如果登陆页面的网址是必填项-使其可配置(例如,将固件上传到设备后)的首选方式是什么?
  2.   

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

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

Chrome浏览器有两个不同的黑名单:

  1. WebUSB Interface Class Filter限制对某些类型的USB接口的访问:音频,视频,HID,大容量存储,智能卡,无线控制器(蓝牙和无线USB)。
  2. USB blocklist根据供应商ID /产品ID对限制USB设备的访问。这主要适用于U2F设备。