在我用C#.net構建的WebApp中,我想讓用戶只能從一臺電腦連接。 所以當用戶登錄,在我第一次將節省電腦的詳細信息,當我將檢測時,其另一臺PC,他們將無法登錄允許用戶只從一臺電腦登錄
我試圖做:
1)保存ip時用戶首次登錄並檢查它是否每次登錄,的問題:的ip可以更改。
protected string GetIPAddress()
{
System.Web.HttpContext context = System.Web.HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
return addresses[0];
}
}
return context.Request.ServerVariables["REMOTE_ADDR"];
}
2)保存在本地存儲一些關鍵那就要檢查一下按鍵的每個登錄,問題:他們可以清除本地存儲或選擇不使用它,或者瀏覽器將不支持本地存儲。
localStorage.setItem("key", "123123");
有一個很好的和安全的方法來做到這一點?
您的要求在邏輯層面上沒有意義。這是否意味着只要我運行你的軟件,我就不能購買新的PC?理論上你可以這樣做,但不能通過瀏覽器。您無法獲得將機器識別爲不易僞造的機器的基本系統細節。再想想你的需求。 – nvoigt
我的辦公室裏有20臺機器,他們都會向您展示相同的IP地址(NAT)......瀏覽器現在可以跨機器快速同步本地存儲數據/ Cookie。也許你可以解釋*爲什麼*你想這樣做?如前所述,這是一個非常奇怪的要求。 –
我很想知道,爲什麼我們要重新設計一個基於瀏覽器的應用程序到窗口應用程序? – Anil