mic*_*mic 6 firefox clipboard javascript permissions
显然,网站可以使用 JavaScript Clipboard API 覆盖剪贴板,而不需要向用户 \xe2\x80\x94 发出任何通知,正如 Reddit 线程\xe2\x80\x94 中所讨论的,这有点可怕。
\n有没有办法禁用编程剪贴板访问,除非用户通过扩展或某些配置设置授予权限?理想情况下,我正在寻找诸如网站如何需要自动播放或访问音频或相机的权限之类的内容。但如果这是不可能的,阻止剪贴板访问并通知我任何剪贴板访问尝试的 JavaScript Greasemonkey/Violentmonkey 脚本也可以工作。
\n在 \xe2\x80\x9c MDN Clipboard API \xe2\x80\x9d的 Firefox 文档中,它指出:
\n\n\n\xe2\x80\x9c 对剪贴板内容的访问由权限 API 控制:当页面位于活动选项卡中时,会自动向页面授予剪贴板写入权限。必须请求剪贴板读取权限,您可以通过尝试从剪贴板读取数据来做到这一点。\xe2\x80\x9d
\n
禁用剪贴板 API 访问并不能让将命令复制粘贴到 shell 中安全,因为您仍然可以让用户使用 CSS 复制意外的文本,但这只是开始。
\nFirefox 有一个about:config名为 的设置dom.event.clipboardevents.enabled,它允许 Firefox 发出oncopy、oncut、 和onpaste事件,网站可以使用这些事件来修改剪贴板。您可以将其设置为false禁用所有网站对剪贴板 API 的访问;您不能根据具体情况使用它来授予网站访问权限。设置此选项会false破坏某些功能,例如在 Discord 上粘贴图像。
此外,网站可以使用已弃用的和命令。可以通过将首选项设置为 来禁用对此的支持。Document.execCommand() copycutabout:configdom.allow_cut_copyfalse
还有一个about:config设置dom.events.asyncClipboard.dataTransfer,默认情况下处于禁用状态。如果启用,它允许网站异步读取剪贴板(在收到用户许可后),并随时写入剪贴板,而无需等待oncopy//事件。oncutonpaste