禁用 HTML5 电池功能
信息安全
网页浏览器
指纹识别
html-5
2021-08-14 17:38:32
2个回答
火狐
从 Firefox 52 开始,电池 API 已被禁用,仅适用于 chrome/特权代码(我认为附加组件属于此类)。对于早期版本,默认启用电池 API。可以通过转到 toabout:config
并设置dom.battery.enabled
to来禁用它false
。更改会在后续页面加载时立即生效。
铬和安卓
移动版和桌面版都受到影响。此功能默认启用,似乎还没有任何方法可以禁用它,但如果您关心隐私,则根本不应该使用 Chrome。
Android 浏览器从 40 版开始受到影响,也没有任何方法可以禁用它。
IE浏览器
该功能正在考虑中,并且尚未(尚未?)在任何当前版本中实现。
苹果浏览器
此功能目前未在任何版本中实现,无论是桌面版还是移动版。
歌剧
桌面版 Opera 受到影响,该功能已启用,但无法禁用。Opera Mini 不受影响。
这是一个演示,您可以使用它来检查您是否容易受到攻击。还有Can I use提供了有关浏览器支持哪些功能的最新信息。我会尽力保持这个答案是最新的,但我建议你仔细检查一下,以防万一发生变化。
我找到了一种方法来防止使用 javascript 使用此 API。在 chrome 和 firefox(桌面版)中为我工作。
(function(navi){
var nnav = new Proxy(navi,{
get:function(t,p){
if(p == "getBattery" || p == "battery"){
return void(0);
}
if(t[p] instanceof Function){
return t[p].bind(navi);
}
return t[p];
},
has:function(t,p){
if(p == "getBattery" || p == "battery"){
return false;
}
return p in navi;
}
});
Object.defineProperty(window,"navigator",{
configurable: false,
enumberable: false,
value:nnav,
writable:false,
});
})(window.navigator);
对于桌面版本,您可以使用greasemonkey 等在文档中的任何脚本运行之前运行此脚本,从而防止对API 的任何使用。对于移动设备,问题将是在文档脚本运行之前自动运行它。您可以将其保存为小书签,但如果边脚本在您运行小书签之前运行,它可能会存储未修改的导航器对象。(+你可能会忘记小书签)