Firefox是否有标准的API来检查特定插件的安装?
Does Firefox have a standard API to check installation of specific Addons?
我正在尝试使用纯JavaScript检测某些限制我们网站功能的插件(如Ghostery或DoNotTrackMe)的存在。如果Firefox有一个标准的API来查询插件的存在,它会缩短我的工作。可能是这样的:
AddonManager.getAddonByID("?")
可以检测插件,如Java和Flash (navigator.plugins
),但还不能检测插件。
检测也是可能的。
不,没有这样的API,也不会有。如果浏览器允许网站检测安装了什么扩展,那么这是一个错误和隐私问题——Firefox和Chrome过去修复了这样的问题,目前不应该存在这样的问题。为什么网页不应该知道这个:
- 插件列表允许相当精确的用户指纹识别,即使cookie和类似机制被禁用,也可能允许跟踪用户。
- 如果网站可以提前检查是否安装了易受攻击的扩展/扩展版本,那么攻击扩展漏洞会变得简单得多。依赖于特定扩展的社会工程攻击也是如此。
- 总是有一个机会,网站决定排除网站访问者安装了不受欢迎的软件(各种广告拦截器,漏洞扫描器,下载助手等)。
- 安装的扩展列表告诉了很多关于用户,他的浏览习惯和偏好-将这些信息提供给网站将是一个巨大的隐私问题。
navigator.plugins
功能当然有许多相同的问题——它是在互联网的黑暗时代引入的,当时没有人考虑到这些问题。这就是为什么这个功能正在被积极讨论,并可能在未来受到限制的原因。
当然,现在网站仍然可以尝试通过它们的效果来检测扩展。然而,这不是一个非常可靠的方法,例如,你链接到的广告拦截检测器对我说"没有广告拦截检测",显然是错误的。
奖金信息:谷歌浏览器确实提供了安装的扩展列表,但只对一个网站:Chrome网络商店。Web Store使用它来指示您已经安装了哪些扩展。至于它是否使用这些数据做了其他的事情,我和你一样也不知道。
您可以在FF, IE, Chrome中检测AdBlock
- http://adblockdetector.com/
你可以检测FlashBlock在FF, IE, Chrome和其他
- https://gist.github.com/artlung/1420308
- https://github.com/browserstack/flashblock-detector/blob/master/flashblock-detector.js
你可以检测Ghostery Chrome
- http://blog.securitee.org/?p=277
请注意,这些脚本使用推理来检测这些插件的存在,没有API。我还没有找到其他插件的检测器,但它们可能存在....(正在进行)
- 可以前端maven插件使用节点,npm已经安装
- YouTube插件的安装是CKDior
- PhoneGap Cordova媒体插件 - 如何集成/安装
- navigator.plugins如何查找并返回安装在web浏览器上的插件对象数组
- 我可以'不要在eclipse中使用css,javascript文件和已安装的phonegap插件
- 通过注册表安装的Firefox插件是否可以使用updateURL
- 带有html Webpack插件的Webpack,全局安装时出错
- Eclipse Web Development - 安装哪些插件以及如何获取 Dojo, Ajax - 所见即所得开发
- Firefox 引导插件:安装事件未执行
- 离子和科尔多瓦插件安装之间的区别
- ckeditor Mathml 插件安装
- I'我已将Admob插件安装到我的Phonegap项目中..现在怎么办
- 如何将插件安装到Django的CkEditor中
- SERIALITY()插件安装在firefox或chrome上
- Ckeditor uploadimage 404错误/插件安装
- 如何在FF中获得插件安装位置
- Chrome内联插件安装在窗口.确认
- Firefox作为插件安装运行代码
- 如何限制wordpress插件安装只在一个网站(防止多站点安装)
- 插件安装