首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有什么方法可以绕过Chrome浏览器上的WebHid USB限制?

有什么方法可以绕过Chrome浏览器上的WebHid USB限制?
EN

Stack Overflow用户
提问于 2021-10-22 05:29:35
回答 1查看 388关注 0票数 1

Chrome89发布了WebHid API,但安全性受到限制。

限制包括:

  1. Javascript无法在浏览器选项卡切换时接收USB数据。
  2. 当用户打开select html元素时Javascript无法接收USB数据

.更多关于链接的文章

有一个提交在铬项目上说,The blocklist may be bypassed by passing allow_protected_reports=true when connecting to the devic

是否有一种方法可以设置allow_protected_reports=true以绕过UI上的这些限制,如chrome://flags

相关链接:https://web.dev/hid/#security-privacy

2021.10.28更新

MacOS BigSur 11.2.3

Chrome版95.0.4638.54 (官方版本) (x86_64)

用于复制限制:

  1. Javascript cannot receive USB Hid data when user is opening select html element
代码语言:javascript
复制
   <select>
      <option> test </option>
    </select>
代码语言:javascript
复制
device.addEventListener("inputreport", (e) => {
        const data = e.data.buffer;
        console.log(new Date(), "received data", data);
      });

当用户单击"test“select元素打开它时,它将停止接收数据。

密码箱的工作实例

  1. Javascript cannot receive USB Hid data when browser tab switched

我现在不能每次在mac+chrome上复制它,而是在选项卡切换的简单测试环境中通过API device.addEventListener("inputreport",...)接收hid设备数据。但是我发现它在我的实际生产React.js应用程序中停止了,它运行了更多的javascript和timers ( setInterval )。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-27 17:28:36

不,没有用于绕过HID封锁列表的chrome://标志,而且由于风险,我们不打算添加一个。Chrome的内部HID客户端使用allow_protected_reports标志,不应该为Javascript客户端启用该标志。(如果脚本可以访问受保护的报告,那么实现键盘记录器来捕获密码和其他私有信息就变得非常简单。)

如果你觉得HID的封锁列表阻止了一些不该被屏蔽的东西,请编辑你的问题来分享更多关于你想要访问的设备的信息。您还可以在WebHID规格跟踪器上提交一个bug,其中托管了块列表。

Javascript无法在浏览器选项卡切换时接收USB数据。

这不是有意的,我们期望应用程序需要对HID设备的后台访问,以便在选项卡不可见时正常工作。你能编辑你的问题来添加更多关于你测试的操作系统(和操作系统版本)的信息吗?(或提交一个铬虫)

当用户打开select html元素时Javascript无法接收USB数据

我不知道这意味着什么,你能提供一个测试用例来演示这个问题吗?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69671830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档