2010-11-02 4 views
5

Un site Web peut-il détecter les extensions de navigateur utilisées? Plus précisément dans ce cas, l'auteur de l'extension souhaite empêcher sites Web d'identifier lorsque les utilisateurs utilisent l'extension. Donc, pour un exemple générique, les programmeurs de Yahoo! écrire du code pour que www.yahoo.com puisse savoir quand les utilisateurs utilisaient Firebug? Et si Yahoo! pourrait faire cela, y a-t-il quelque chose que les fabricants de Firebug pourraient faire pour empêcher cela?Un site Web peut-il détecter les extensions de navigateur utilisées?

Répondre

4

On dirait que vous pouvez détecter certains d'entre eux dans Firefox en utilisant javascript, voici un article:

http://jeremiahgrossman.blogspot.com/2006/08/i-know-what-youve-got-firefox.html

et un plus:

http://ha.ckers.org/blog/20060823/detecting-firefox-extentions/

voici comment il est détecté :

// popular extensions. 
var e = { 
"Adblock Plus" : "chrome://adblockplus/skin/adblockplus.png", 
"Auto Copy" : "chrome://autocopy/skin/autocopy.png", 
"ColorZilla" : "chrome://colorzilla/skin/logo.png", 
"Customize Google" : "chrome://customizegoogle/skin/32x32.png", 
"DownThemAll!" : "chrome://dta/content/immagini/icon.png", 
"Faster Fox" : "chrome://fasterfox/skin/icon.png", 
"Flash Block" : "chrome://flashblock/skin/flash-on-24.png", 
"FlashGot" : "chrome://flashgot/skin/icon32.png", 
"Forecastfox" : "chrome://forecastfox/skin/images/icon.png", 
"Google Toolbar" : "chrome://google-toolbar/skin/icon.png", 
"Greasemonkey" : "chrome://greasemonkey/content/status_on.gif", 
"IE Tab" : "chrome://ietab/skin/ietab-button-ie16.png", 
"IE View" : "chrome://ieview/skin/ieview-icon.png", 
"JS View" : "chrome://jsview/skin/jsview.gif", 
"Live HTTP Headers" : "chrome://livehttpheaders/skin/img/Logo.png", 
"MeasureIt" : "chrome://measureit/skin/measureit.png", 
"SEO For Firefox" : "chrome://seo4firefox/content/icon32.png", 
"SEOpen" : "chrome://seopen/skin/seopen.png", 
"Search Status" : "chrome://searchstatus/skin/cax10.png", 
"Server Switcher" : "chrome://switcher/skin/icon.png", 
"StumbleUpon" : "chrome://stumbleupon/content/skin/logo32.png", 
"Tab Mix Plus" : "chrome://tabmixplus/skin/tmp.png", 
"Torrent-Search Toolbar" : "chrome://torrent-search/skin/v.png", 
"User Agent Switcher" : "chrome://useragentswitcher/content/logo.png", 
"View Source With" : "chrome://viewsourcewith/skin/ff/tb16.png", 
"Web Developer" : "chrome://webdeveloper/content/images/logo.png", 
"Unhide Passwords" : "chrome://unhidepw/skin/unhidepw.png", 
"UrlParams" : "chrome://urlparams/skin/urlparams32.png", 
"NewsFox" : "chrome://newsfox/skin/images/home.png", 
"Add N Edit Cookies" : "chrome://addneditcookies/skin/images/anec32.png", 
"GTDGmail" : "chrome://gtdgmail/content/gtd_lineitem.png", 
"QuickJava" : "chrome://quickjava/content/js.png", 
"Adblock Filterset.G Updater" : "chrome://unplug/skin/unplug.png", 
"BBCode" : "chrome://bbcode/skin/bbcode.png", 
"BugMeNot" : "chrome://bugmenot/skin/bugmenot.png", 
"ConQuery" : "chrome://conquery/skin/conquery.png", 
"Download Manager Tweak" : "chrome://downloadmgr/skin/downloadIcon.png", 
"Extended Cookie Manager" : "chrome://xcm/content/allowed.png", 
"FireBug" : "chrome://firebug/content/firebug32.png", 
"FoxyTunes" : "chrome://foxytunes/skin/logo.png", 
"MR Tech Disable XPI Install Delay" : "chrome://disable_xpi_delay/content/icon.png", 
"SessionSaver .2" : "chrome://sessionsaver/content/ss.png", 
"spooFX" : "chrome://spoofx/skin/main/spoofx.png", 
"Statusbar Clock" : "chrome://timestatus/skin/icon.png", 
"Torbutton" : "chrome://torbutton/skin/bigbutton_gr.png", 
"UnPlug" : "chrome://unplug/skin/unplug.png", 
"View Source Chart" : "chrome://vrs/skin/vrssmall.png", 
"XPather" : "chrome://xpather/content/iconka.png", 

}; 

if (is_mozilla) { 
showExtensions(); 
} 

function showExtensions() { 
for (var i in e) { 
    var img = document.createElement("img"); 
    img.setAttribute("border", '0'); 
    img.setAttribute("width", '0'); 
    img.setAttribute("height", '0'); 
    img.setAttribute("onload", "document.getElementById('ext'). 
appendChild(document.createElement('li')).innerHTML='" + i + "'"); 
    img.setAttribute("src", e[i]); 
} 

} 

Donc, il semble que pour empêcher ce type de détection, vous n'avez pas besoin de ressources uniques qui peuvent identifier le plugin ou nommer votre ressource du même nom que le plugin existant à masquer.

+0

Nice find. Un autre (même méthode, mais plus d'extensions): http://www.phpsolvent.com/wordpress/?p=1888 –

+0

Merci, Romario. Votre réponse m'a définitivement orienté dans la bonne direction. Il semble que si je n'utilise pas d'images (pas génial mais correct) ou si l'utilisateur désactive javascript (mauvais), l'utilisateur peut utiliser une extension Firefox de manière anonyme. Un site Web peut-il rechercher d'autres fichiers (non-image) dans mon extension? Aussi, savez-vous comment ce problème est dans IE ou Google Chrome? – John

+0

Eh bien, je suppose que certaines ressources sont accessibles, il se pourrait que seules ces images soient visibles dans la page addon. Comme pour l'IE - ils utilisent ActiveX comme format addon, il y a des fonctions pour voir si ActiveX est installé, donc si vous connaissez le nom que vous pouvez détecter s'il est là. –

1

Cette information ne fait pas partie du protocole http et si le serveur reçoit des demandes des navigateurs, il peut à peine influencer le type d'information contenu dans l'en-tête HTTP. La seule façon de le faire est via JavaScript, afin que vous, en tant que programmeur, créez du javascript qui récupère ces informations dans les navigateurs. Mais seulement dans le cas où le navigateur a des fonctions disponibles pour cette exigence.

1

Oui. J'utilise ceci pour remplir automatiquement un champ de formulaire caché lorsque les utilisateurs demandent de l'aide, donc je sais s'il y a un plugin causant des problèmes:

var plugins = ""; 
for (var i = 0; i < navigator.plugins.length; i++) 
{ 
    plugins += navigator.plugins[i].name; 
    if (i != (navigator.plugins.length - 1)) 
    { 
     plugins += ", "; 
    } 
} 
+1

La question portait sur les extensions, pas les plugins. (Essayez 'javascript: navigator.plugins [0] .name' dans votre barre d'adresse Firefox pour voir le nom du premier plugin) –

+1

+1, même si cela ne répond pas à la question, c'est une très bonne idée! – tster

+0

Plugins et extensions et add-ons tous signifient la même chose pour moi. –

Questions connexes