Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firefox是否有标准API来检查特定插件的安装?_Javascript_Api_Firefox_Firefox Addon - Fatal编程技术网

Javascript Firefox是否有标准API来检查特定插件的安装?

Javascript Firefox是否有标准API来检查特定插件的安装?,javascript,api,firefox,firefox-addon,Javascript,Api,Firefox,Firefox Addon,我试图使用普通JavaScript检测某些插件的存在,这些插件限制了我们网站的功能(如Ghostery或DoNotTrackMe)。如果Firefox有一个标准API来查询插件的存在,它将缩短我的工作。可能是这样的: 插件管理器。(“?”) 可以检测Java和Flash等插件(navigator.plugins),但还不能检测插件 还可以检测插件。您可以检测FF(即Chrome)中的AdBlock 您可以在FF、IE、Chrome和其他浏览器中检测FlashBlock 您可以在Ch

我试图使用普通JavaScript检测某些插件的存在,这些插件限制了我们网站的功能(如Ghostery或DoNotTrackMe)。如果Firefox有一个标准API来查询插件的存在,它将缩短我的工作。可能是这样的:

插件管理器。(“?”)

可以检测Java和Flash等插件(
navigator.plugins
),但还不能检测插件


还可以检测插件。

您可以检测FF(即Chrome)中的AdBlock

您可以在FF、IE、Chrome和其他浏览器中检测FlashBlock

您可以在Chrome中检测到幻影


请注意,这些脚本使用推断来检测这些插件的存在,没有API。我还没有找到其他插件的探测器,但它们可能存在。。。。(正在进行)

您可以在FF(即Chrome)中检测到AdBlock

您可以在FF、IE、Chrome和其他浏览器中检测FlashBlock

您可以在Chrome中检测到幻影


请注意,这些脚本使用推断来检测这些插件的存在,没有API。我还没有找到其他插件的探测器,但它们可能存在。。。。(正在进行)

不,没有这样的API,将来也不会有。如果浏览器允许网站检测安装了哪些扩展,那么这是一个bug和隐私问题——Firefox和Chrome在过去修复了此类问题,目前不应该存在此类问题。为什么网页不应该知道这一点:

  • 附加列表允许对用户进行相当精确的指纹识别,并允许跟踪用户,即使禁用了cookie和类似机制
  • 如果网站可以提前检查是否安装了易受攻击的扩展/扩展版本,那么攻击扩展中的漏洞就会简单得多。依赖于特定扩展的社会工程攻击也是如此
  • 网站总是有可能决定排除安装了不受欢迎软件的网站访问者(各种广告拦截器、漏洞扫描程序、下载帮助程序等)
  • 已安装的扩展列表显示了很多关于用户、他的浏览习惯和偏好的信息——向网站提供这些信息将是一个巨大的隐私问题
navigator.plugins
功能当然也有许多相同的问题——它是在互联网的黑暗时代引入的,当时没有人考虑过这些问题。这就是为什么这个功能正在被积极讨论并且在将来可能会受到限制的原因

当然,现在网站仍然可以尝试通过其效果来检测扩展。然而,这不是一个非常可靠的方法,例如,你链接到的Adblock检测器对我说“没有检测到广告阻塞”,这显然是错误的


额外信息:Google Chrome确实提供了一个已安装扩展的列表,但只提供给一个网站:Chrome网络商店。Web应用商店使用它来指示您已经安装了哪些扩展。你的猜测和我的猜测一样好。不,没有这样的API,将来也不会有。如果浏览器允许网站检测安装了哪些扩展,那么这是一个bug和隐私问题——Firefox和Chrome在过去修复了此类问题,目前不应该存在此类问题。为什么网页不应该知道这一点:

  • 附加列表允许对用户进行相当精确的指纹识别,并允许跟踪用户,即使禁用了cookie和类似机制
  • 如果网站可以提前检查是否安装了易受攻击的扩展/扩展版本,那么攻击扩展中的漏洞就会简单得多。依赖于特定扩展的社会工程攻击也是如此
  • 网站总是有可能决定排除安装了不受欢迎软件的网站访问者(各种广告拦截器、漏洞扫描程序、下载帮助程序等)
  • 已安装的扩展列表显示了很多关于用户、他的浏览习惯和偏好的信息——向网站提供这些信息将是一个巨大的隐私问题
navigator.plugins
功能当然也有许多相同的问题——它是在互联网的黑暗时代引入的,当时没有人考虑过这些问题。这就是为什么这个功能正在被积极讨论并且在将来可能会受到限制的原因

当然,现在网站仍然可以尝试通过其效果来检测扩展。然而,这不是一个非常可靠的方法,例如,你链接到的Adblock检测器对我说“没有检测到广告阻塞”,这显然是错误的


额外信息:Google Chrome确实提供了一个已安装扩展的列表,但只提供给一个网站:Chrome网络商店。Web应用商店使用它来指示您已经安装了哪些扩展。你的猜测和我的一样好,因为他们是在FF插件中测试插件。过时:与这些不同,因为它们是从FF插件中测试插件。过时的: