簡體   English   中英

如何防止用戶將未經授權的設備連接到我的Web應用程序?

[英]How to prevent user to connect from un-authorized device to my web app?

嗨,我需要采取一些措施來防止用戶從未經授權的另一台計算機或移動設備連接到Web應用程序,例如,如果用戶正確輸入了用戶名和密碼,並且公司授權的計算機或移動設備授予了訪問權限,但是如果用戶在另一台計算機或移動設備上,則必須拒絕登錄Web應用程序。

用戶也可以在任何地方連接到Internet並使用此Web應用程序,但前提是使用授權設備進行操作。

我曾考慮過使用mac地址來完成此操作,但我不知道這是否是正確的方法。

所以有人有什么建議嗎?

編輯:此Web應用程序是公司內部的應用程序,可以訪問公司的銷售和庫存,因此公司提供的唯一設備可以訪問Web應用程序。

MAC地址是一個糟糕的選擇,因為偽造它非常簡單(除了很難通過javascript獲取它)。 由於您依賴用戶控制的內容來告訴您該設備已獲得授權,因此幾乎所有方案都將遇到該問題。 Cookies,甚至是“隨機”餅干,也存在相同的偽造問題。

設備如何獲得授權? 它需要多安全? 為什么必須將訪問限制為僅授權設備?

我在這里看到2種可能性:

  1. 此要求是對應用程序的最終用戶施加控制的錯誤嘗試,除了已經通過傳統的身份驗證方法(即登錄名/密碼)解決的安全問題以外,沒有真正的安全問題。
  2. 合法需要確認用戶使用的設備符合某種級別的安全性(例如,病毒防護,位於物理安全位置等)。 在那種情況下,我沒有資格構建這樣的解決方案(當然也不在StackOverflow答案中),並且從您的問題來看,您也不是。 即使您提出了一個確信是安全的解決方案,我也可以保證它不是安全的。

真正安全的實現可能會利用公鑰加密和來自授權設備的某種簽名。 甚至可以偽造該簽名,尤其是對於基於瀏覽器的解決方案而言,這就是為什么如此多的公司對受信任的平台模塊感興趣的原因。

如果無法訪問Java插件,本機編程,活動X等,則無法直接獲取設備的MAC地址。

這樣做的通常方法(閱讀Facebook會檢測到您之前未從某個位置登錄過),以便在經過授權的設備上設置Cookie。 將這些cookie的列表存儲在服務器上,並檢查以確保在用戶嘗試使用設備時獲得正確的cookie。 Cookie應該是隨機的,發生碰撞的可能性很小。 您甚至可能會幻想每次用戶使用新值登錄時更新cookie。 基本上,您要查找的內容與“記住我”登錄系統完全相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM