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
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.
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.
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 += ", ";
}
}
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, même si cela ne répond pas à la question, c'est une très bonne idée! – tster
Plugins et extensions et add-ons tous signifient la même chose pour moi. –
- 1. détecter navigateur mobile pour un site Web en utilisant PHP
- 2. IIS7: Afficher les ressources utilisées par un site Web spécifique
- 3. Détection des extensions de navigateur Google Chrome
- 4. Extensions du navigateur Android
- 5. WPF: Extensions de type navigateur
- 6. Accéder aux images utilisées dans les thèmes du navigateur?
- 7. détecter les paramètres de proxy du navigateur Web par défaut
- 8. Détecter les incompatibilités du navigateur via l'algorithme
- 9. Barres de défilement du navigateur pour un site Web flash
- 10. spam détecter dans le site Web
- 11. Qt - Comment ouvrir un site Web dans un navigateur particulier
- 12. I18n d'un site Web: comment détecter un langage?
- 13. Les extensions et les fonctions d'assistance les plus fréquemment utilisées dans ASP.NET C#
- 14. Comment adapter un site Web sur les fenêtres navigateur Web mobile via le code + C#
- 15. comment un site Web est chargé dans notre navigateur
- 16. Détecter les modifications DOM du navigateur complet
- 17. Comment détecter les plug-ins du navigateur?
- 18. Détecter les utilisateurs hors de la vue du navigateur
- 19. Comment détecter la capacité du navigateur mobile
- 20. Détecter navigateur Fermer sur Asp.net
- 21. calculer un téléchargement initial de site Web?
- 22. Extensions Python qui peuvent être utilisées dans toutes les variétés de python (jython/IronPython/etc)
- 23. Rechercher les propriétés utilisées et non utilisées
- 24. Lancez un navigateur Web pour un dossier?
- 25. Comment construire un navigateur de fichiers web?
- 26. Comment détecter si un protocole est pris en charge via un navigateur Web?
- 27. Quand les fenêtres du navigateur devraient-elles ouvrir une nouvelle page dans un site Web?
- 28. Supprimer les extensions de fichiers des urls
- 29. Le moyen le plus efficace pour détecter/sélectionner automatiquement la langue dans un site Web?
- 30. Comment simuler un navigateur Web afin que le site Web me renvoie la bonne source HTML?
Nice find. Un autre (même méthode, mais plus d'extensions): http://www.phpsolvent.com/wordpress/?p=1888 –
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
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à. –