2011-12-12 86 views
1

是否有任何腳本方法生成客戶機的固定唯一ID? 我的情況是:客戶機唯一ID

當瀏覽器從網絡服務器請求視頻時,我需要存儲唯一的ID以識別客戶端。使用唯一標識(如UUID)不起作用,因爲客戶端打開新標籤並觀看相同視頻時,它將生成另一個ID,但實際情況是它是同一個客戶端。

它必須是通用的,這將是與大多數操作系統兼容。使用WMI可以獲取客戶端MAC地址,但只能在Windows平臺上使用。正如我們所知,JavaScript和服務器端腳本(如我現在使用的)不能獲得大多數操作系統級別的信息,例如MAC地址和內部IP地址。

我也試圖使用Java Applet和我可以抓取,因爲它不會工作,客戶的內部IP地址,如果JRE是禁用的另一個外部程序來避免。

我更喜歡使用Java腳本,JSP或Servlet的。然而,任何其他的想法也會^^

任何想法傢伙理解?

謝謝^^

+0

您究竟需要這個ID用於什麼?唯一識別客戶的常規做法是引入註冊/登錄表單。 OpenID(就像這裏的!)可以讓客戶更容易。 – BalusC

+0

實際上有一臺服務器的數據庫充當網絡監視器(它稱爲中介)。訪問內容服務器的客戶端信息將被髮送到該中介並存儲在其數據庫中。那些信息將被分析。訪問內容的客戶端的數量是要分析的參數之一。所以我需要客戶獨特的東西來區分他們。使用javascript生成唯一ID不起作用,因爲如果客戶端請求另一個選項卡上的內容,它將生成新的ID。所以客戶的數量是不正確的。 – Binbo

回答

1

如何產生UUID,並把它作爲一個cookie?這樣你就可以唯一地標識在回訪機器,直到用戶清除緩存他或瀏覽改名

+0

謝謝parapura!看起來像使用cookie是唯一的方法。我會試一試= D – Binbo

0

好像你要創建並存儲會話數據。我會深入研究設置/獲取Cookie數據,並查看您是否無法設置Cookie來解決此問題。

如果這是保護/防止用戶看兩個視頻,我會小心執行一個客戶端解決方案。

您也許還可以考慮其他事項,包括用戶代理,IP地址,Cookie等。

+0

看起來像使用cookie是唯一的方法。那我試試吧。我想要做的不是阻止用戶觀看兩個視頻,而是指出即使他/她正在觀看兩個視頻,它也是同一個客戶端。生成UID將不起作用,因爲如果客戶端打開另一個選項卡並請求相同的頁面,則生成新的ID。 – Binbo