Asp.net
通過 Web 請求從設備獲取唯一的靜態 ID
我有一個 MVC 應用程序,我想向其中添加一些自定義統計資訊。對於某些統計數據,最好有一個設備的唯一標識符。
例如,如果我有一個 RSS 訂閱者的唯一 ID,我可以監控 RSS 訂閱者的活躍數量。
我想知道是否有人知道 Web 請求中的任何內容可以用作 IP 以外的 ID(這顯然可以更改)。像設備ID之類的東西?
謝謝,
奧利弗
以下是一些需要考慮的方法。
HTTP 標頭
您可以查看一些 HTTP 標頭,它們可以幫助您辨識唯一的使用者或設備 - 有些是指 sim 卡,有些是指設備。以下是我從 Google Adsense Mobile 用於幫助跟踪其廣告的標題中得出的列表:
x-dcmguidx-up-subnox-jphone-uidx-em-uid這些可能是一些非常流行的,但會有更多流行的供應商/設備特定標頭。您可以開始收集您的站點收到的所有標題併計算您收到的每個標題的數量,並開始建立您自己的常見標題數據庫。
其他一些方法
餅乾
Cookies 是可以在請求代理(例如瀏覽器)上設置並在代理再次訪問時返回的東西。有關方法列表,請查看Ever Cookie - 幾乎永久的 cookie - 它通過使用以下方法之一來工作,其中至少有一種方法可以工作:
- Standard HTTP Cookies - Local Shared Objects (Flash Cookies) - Silverlight Isolated Storage - Storing cookies in RGB values of auto-generated, force-cached PNGs using HTML5 Canvas tag to read pixels (cookies) back out - Storing cookies in Web History - Storing cookies in HTTP ETags - Storing cookies in Web cache - window.name caching - Internet Explorer userData storage - HTML5 Session Storage - HTML5 Local Storage - HTML5 Global Storage - HTML5 Database Storage via SQLite組合
也可以想出自己的方案,例如取
user-agent標頭,其他一些標頭,如accept,x-fowarded-for以及 ip 對它們進行唯一的雜湊值,以更準確地確定代理的唯一性。如此處所示,有許多不同的移動標頭。我還點擊了我的一個頁面,並將來自各種設備的移動標題儲存在此處http://wap.defza.com/ua/ua.txt(還有 ua1.txt、ua2.txt 等)