2013-04-21 73 views
2

如果我創建一個ASP.net頁,我能夠獲得當前用戶的CPUID和BIOS序列號?或者這是不允許的,因爲安全?ASP.net獲得硬件信息

我現在有一個Visual Basic.net應用程序獲取這些價值,我只是想知道如果我可以做一個網頁上同樣的事情。

回答

1

如果你做一個網頁上,你會得到服務器的BIOS序列號。因爲VB.NET函數在服務器上運行。

你不能從一個簡單的HTML/JS/CSS網頁訪問這些數據。對不起,這是一件安全的事情。訪問某個互聯網頁面時,您不希望任何人知道您的硬件規格。

2

在堅果殼,沒有你不能使用只是一個普通的HTML & JavaScript的網頁信息。

但是這不是說這是不可能的。

如果您的客戶端計算機安裝了Java,Flash或Silverlight燈,那麼它不能使某些插件架構以某種方式查詢客戶端計算機並收集這些數據。我確實知道從Java Applet中可能會有這種情況,因爲許多像Nvidia和AMD這樣的公司都在使用它來獲取硬件信息,因爲它們提供了可下載驅動程序的選擇。

雖然這些人可能不會找BIOS中的序列號與此類似的,他們是由他們使用同樣的方法和方法將需要閱讀你所尋求的信息做什麼的本質。

我個人一直使用它銀輕,但在受控的環境,我在客戶端計算機上運行什麼有發言權也做。

現在,超越原來的問題,大多數人都問這個性質的問題,因爲他們正在尋找一種方式來唯一地標識訪客到他們的網站通常無需保存cookie或類似。

我以前在代碼專家的.NET螺母和螺栓列上發表了一些關於我寫的帖子的方法(Link Here),並且當前最常見的一種是指紋印刷技術。

實質上,指紋打印技術通過將大多數現代瀏覽器現在提供給Web服務器的所有標準數據組合起來,然後使用這些數據形成某種類型的哈希令牌或唯一標識符。

你需要什麼,以確保如果你去然而,使用這種方法,就是你不接有可能過於頻繁改變數據位。像用戶代理,屏幕分辨率,操作系統版本,Java版本和類似的東西通常是很好的選擇。您也可以通過使用IP地址獲得,但我會小心,因爲現在大多數消費者都處於動態狀態,因此可能會意外更改。

你應該避免的事情,如果你要去指紋是像當前日期&時間,瀏覽器名稱存在一個特定的頭(當然,除非它是你提供的頭),任何事情會給你一個答案,可以是與其他許多系統廣泛匹配,或者頻繁變化是一個不好的選擇。

您也可以儘量在客戶端使用JavaScript,使用客戶端本身的本地信息創建哈希,然後使用ajax調用或使用隱藏窗體或url參數將哈希發送給您。