2017-09-11 101 views
0

我需要生成UUID以最終存儲在數據庫中。我可以在客戶端瀏覽器上使用JavaScript生成這些UUID嗎?在javascript中獲取客戶端計算機的UUID

任何人都可以告訴我/我是否可以在我的asp.net/javascript中獲得客戶端計算機標識符? (客戶端是在網絡不是本地Intranet)的

(什麼是客戶端計算機indentifier我認爲,如:客戶端計算機MAC地址或者任何硬件GUID(如CPU,網卡等)?)

目前我正在使用vbscript中的Activex通過以下代碼生成客戶端的UUID。

Public Function GetUUID(strComputer) 

    Dim objWmi, colItems, objItem, strUUID, blnValidUUID 

    Set objWmi = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
    Set colItems = objWmi.ExecQuery("Select * from Win32_ComputerSystemProduct") 
    strUUID = "" 
    blnValidUUID = False 
    For Each objItem In colItems 
     strUUID = objItem.UUID 
     If Not IsEmpty(strUUID) Or Not IsNull(strUUID) Then 
      If (strUUID <> "00000000-0000-0000-0000-000000000000") And _ 
       (strUUID <> "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") Then 
       blnValidUUID = True 
       Exit For 
      End If 
     End If 
    Next 
    Set objWmi = Nothing 
    If Not blnValidUUID Then 
     Set colItems = GetObject("winmgmts:" & strComputer & "\root\cimv2").InstancesOf("Win32_NetworkAdapter") 
     For Each objItem In colItems 
      If (objItem.AdapterType = "Ethernet 802.3") Then 
       If (objItem.Description <> "Packet Scheduler Miniport") Then 
        strUUID = "00000000-0000-0000-0000-" & Replace(objItem.MacAddress, ":", "") 
        Exit For 
       End If 
      End If 
     Next 
     Set NicSet = Nothing 
    End If 
    GetUUID = strUUID 

End Function 

我不想再使用ActiveX了。相反,我想通過JavaScript來做到這一點。在JavaScript中,我已經找到了一些代碼,唯一產生一些UUID如下面的代碼描述:

var number = Math.random() // 0.9394456857981651 
number.toString(36); // '0.xtis06h6' 
var id = number.toString(36).substr(2, 9); 

但對於javascript代碼重複以上運行此腳本時,我得到不同的UUID相同的客戶端。

另一方面,上面的vbscript甚至爲同一個客戶端生成唯一的id。即使腳本運行一個單一的客戶端電腦上千次,該腳本生成相同的ID,但對於另一臺電腦,它會生成不同的ID。

我想這樣做。任何人都可以幫助我做到這一點? (這是一個業務系統,客戶已經批准我們獲得他們的客戶端計算機硬件標識符,那麼我如何在asp.net/JAVAScript中做到這一點?)。

編輯 基本上我想這樣做在Javascript東陽的ActiveX在VBScript中,我不能在IE之外的任何瀏覽器運行該腳本。我想克服這個限制。

回答

0

您需要查看瀏覽器指紋識別。 Fingerprintjs可以用於瀏覽器ID:fingerprintjs2 也查看EFF's演示

相關問題