當我ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia")在網頁中使用時,它會提供服務器資訊。但我需要使用該網站的任何用戶的計算機資訊。我準備了一個包含 Win32_PhysicalMedia 查詢的網站。但是它只回傳服務器計算機資訊。是否可以從網站獲取個人計算機資訊?
謝謝。
uj5u.com熱心網友回復:
當然,在 Web 服務器上運行的任何計算機代碼都可以獲取有關運行該代碼的 Web 服務器的資訊。
但是,客戶端呢?
那是一個瀏覽器,如果你運行 iPad 或 Andriod 手機會發生什么?有關客戶端的此類資訊是不可能的。
為什么?那么,當你來我的網站查看可愛的貓圖片時?我無法在您的計算機上運行那些亂七八糟、查找名為“我的密碼”的檔案或查找名為銀行業務的檔案的代碼。或者我亂來偷你所有的家庭照片怎么樣?
如果你能做到這一點,互聯網將是世界上最糟糕的系統,它根本不代表任何安全性。
那么,您可以獲得有關客戶端計算機的資訊嗎?
好吧,您可以獲得有關他們正在使用哪種瀏覽器的資訊。并且該網頁上的一些Javascript可以說當前的螢屏解析度(或者更好地說是瀏覽器視窗的大小)。
但是,諸如什么作業系統、硬體以及您所有的銀行資訊和檔案以及關于該計算機的東西之類的東西?不,那是 100% 放手,而且瀏覽器非常安全,我們稱之為沙盒非常嚴密。例如,雖然您可以將檔案上傳控制元件放到網頁中?
那個控制元件會讓用戶點擊那個按鈕,然后選擇一個檔案?您甚至不能在 JavaScript(瀏覽器端,客戶端腳本運行)中設定或選擇或選擇檔案名!!!- 換句話說,即使是瀏覽器控制也可以通過不允許開發人員選擇本地檔案來保護。同樣,這是出于安全考慮,因為再次如上所述,當您查看我的網站可愛的貓圖片時,您不能在查看我的網站時運行瀏覽器代碼并從您的計算機上抓取檔案! !!!
因此,瀏覽器代碼甚至無法選擇要上傳的檔案。用戶必須選擇檔案,然后當您上傳該檔案時,只有檔案名與檔案資料一起傳遞(甚至您計算機上檔案的檔案路徑名都不會發送到 Web 服務器。同樣,出于安全原因,這一切都被鎖定了。
如果您需要有關客戶端計算機的資訊,則必須向用戶提供要下載的程式。他們將運行桌面程式,然后執行您的硬體選擇查詢型別,收集資訊,然后將資料發送到您的網站(我猜您會為該桌面程式創建一個 Web 方法或所謂的 Web API呼叫和發送資料)。當然,您需要為 Android 手機、Apple 手機、Windows 桌面、Apple 桌面甚至更多選擇撰寫的程式。
因此,基于 Web 的軟體非常封閉,并且具有零能力來獲取有關客戶端計算機的資訊。如前所述,您可以在 JavaScript 中獲取有關用戶正在使用的瀏覽器的資訊。(但話又說回來,說 chrome 在 Android 和桌面上運行)。并且您可以如前所述獲取當前視窗大小,在大多數情況下會告訴您什么螢屏解析度。許多瀏覽器還允許您獲取用戶當前的縮放級別(我一直想跟蹤此資訊 - 因為在 125% 縮放后,我的一些網頁看起來像垃圾)。
所以,你必須掌握網路和這種被稱為互聯網的所謂時尚是如何運作的。與您的網站互動的客戶端或客戶端臺式計算機(或電話)正在使用瀏覽器,并且如上所述,這些瀏覽器非常鎖定,這當然是有充分理由的 - 原因是安全性,并且這樣我晚上就可以睡個好覺了,當我帶著可愛的貓圖片訪問你的網站時,你沒有在我的電腦上運行代碼,這些代碼正在用我的個人電腦(我的電腦,而不是你的電腦)到處查看.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/490442.html
