一個網站可以檢測到瀏覽器擴展名正在被使用嗎?具體而言,在這種情況下,該擴展的作者希望阻止網站識別用戶何時使用該擴展。那麼,對於一個通用的例子,雅虎的程序員能不能呢?編寫代碼,以便www.yahoo.com可以告訴用戶何時使用Firebug?如果雅虎!可以做到這一點,Firebug的製造商可以做些什麼來防止這種情況發生?網站可以檢測到瀏覽器擴展名正在被使用嗎?
回答
貌似可以使用JavaScript檢測在Firefox他們中的一些,這裏是一個文章:
http://jeremiahgrossman.blogspot.com/2006/08/i-know-what-youve-got-firefox.html
還有一:
http://ha.ckers.org/blog/20060823/detecting-firefox-extentions/
這裏是它是如何檢測:
// 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]);
}
}
因此,看起來像阻止這種檢測,你不需要有唯一的資源,可以識別插件或命名您的資源與現有插件相同的名稱來掩蓋。
該信息不是http協議的一部分,如果服務器端從瀏覽器獲取請求,它幾乎不會影響http頭中的信息類型。唯一可行的方法是通過JavaScript,這樣,作爲一名程序員,您可以創建JavaScript,從瀏覽器中獲取這些信息。但僅限於瀏覽器具有此功能的可用功能。
是的。當用戶請求幫助時,我使用它來自動填充隱藏表單字段,所以我知道是否有插件導致問題:
var plugins = "";
for (var i = 0; i < navigator.plugins.length; i++)
{
plugins += navigator.plugins[i].name;
if (i != (navigator.plugins.length - 1))
{
plugins += ", ";
}
}
問題是關於擴展,而不是插件。 (在Firefox地址欄中嘗試使用'javascript:navigator.plugins [0] .name'來查看第一個插件的名稱) – 2010-11-02 15:18:48
+1,即使這不能回答這個問題,這真是個好主意! – tster 2010-11-02 15:21:06
插件和擴展插件對我來說都意味着同樣的事情。 – 2010-11-02 16:23:31
- 1. 使用瀏覽器擴展檢測打開特定網站
- 2. Chrome瀏覽器擴展,可檢測第
- 3. 檢測Google Chrome瀏覽器擴展
- 4. 瀏覽器擴展可以鍵盤輸入用戶嗎?
- 5. 我可以檢測到有人使用瀏覽器插件從網站上下載視頻嗎?
- 6. Safari瀏覽器未檢測到我的擴展證書
- 7. 谷歌瀏覽器擴展可以休眠但可以調用嗎?
- 8. 使用PHP爲網站檢測手機瀏覽器
- 9. 使用.Net從瀏覽器中檢測請求的網站url?
- 10. 入門網站,以檢測我們的手機瀏覽器
- 11. 可以使用chrome擴展來修補瀏覽器兼容性問題嗎?
- 12. 谷歌瀏覽器擴展程序可以像瀏覽主題一樣更改瀏覽器的外觀嗎?
- 13. 如何使Google Chrome瀏覽器擴展程序重定向到特定網站?
- 14. 使用瀏覽器擴展標頭
- 15. 谷歌瀏覽器擴展使用UDP
- 16. 通過谷歌瀏覽器擴展程序登錄網站
- 17. 需要谷歌瀏覽器擴展中的網站文字
- 18. jquery移動網站也可以成爲桌面瀏覽器網站嗎?
- 19. 檢查瀏覽器是否正在加載網頁的JavaScript函數(Firefox擴展)
- 20. JavaScript中的瀏覽器可以檢測硬件加速嗎?
- 21. 我可以檢測瀏覽器調整大小事件嗎?
- 22. Silverlight可以通過瀏覽器實例檢測或通信嗎?
- 23. 如何讓我的網站檢測某些網頁瀏覽器?
- 24. 可以使用Chrome擴展將HTML標記添加到網站嗎?
- 25. 如何檢測用於訪問我的網站的瀏覽器?
- 26. 檢測JavaScript禁用瀏覽器併爲它們分隔網站?
- 27. 互聯網瀏覽器如何以.jpg擴展名觸發Flash應用程序?
- 28. 我可以檢測瀏覽器的網絡活動是否空閒嗎?
- 29. 瀏覽器可以自動更正「損壞的網址」嗎?
- 30. 我可以檢測某些瀏覽器(IE)設置(不更改,檢測)嗎?
很好找。另一個(同樣的方法,但更多的擴展名):http://www.phpsolvent.com/wordpress/?p=1888 – 2010-11-02 14:55:29
謝謝你,羅馬裏奧。你的回答肯定指向了正確的方向。這聽起來像是如果我不使用圖像(不是很好,但確定)或讓用戶禁用javascript(壞),用戶可以匿名使用Firefox擴展。一個網站可以在我的擴展中搜索其他(非圖像)文件嗎?另外,您是否知道在IE或Google Chrome中這個問題是如何發生的? – John 2010-11-03 04:16:13
好吧,我的猜測是有些資源是可以訪問的,可能只有那些圖片才能在插件頁面上顯示出來。至於IE - 它們使用ActiveX作爲附加格式,有功能可以查看是否安裝了ActiveX,所以如果知道該名稱,可以檢測它是否存在。 – 2010-11-03 14:55:51