4 Answers
4

There isn't a way to do this yet in Firefox. This is necessary so that the server you are connecting to can know what form to send the content back to you in. The closest analogy I can draw is how SSL sends all of the acceptable connection types (SSL1, TSL, etc.) and the server can pick what it wants to use to communicate. When we are sending all this information to the server we are letting it know that we have these plugins and it can send us content we will be able to use.

If you're concerned about security on your browser, you could use NoScript to block unnecessary scripts from running on your browser. That's means it'll more likely make your browser less "unique".

I know this question is quite old, but when searching for this problem, this is one of the first results.

Short Answer: Set "plugins.enumerable_names" to "" (empty string) on Firefox 29+.

Apparently, from version 29 onwards, Firefox has a setting on about:config that controls the enumerable plugins. It does not solve the problem completely, because it is possible to query individual plugins, but it helps.

This property is "plugins.enumerable_names", and it has a list of allowed prefixes that can be enumerated. So, for the default setting, "Java,Nexus Personal,QuickTime,Shockwave", all plugin names starting with "Java", "Nexus Personal", ... will be enumerated, and all others will be hidden. To hide everything, just clear that string (set it to "").