我對花旗集團的黑客事件 http://www.nytimes.com/2011/06/14/technology/14security.html?_r=2&pagewanted=1&ref=technology如何保護從黑客的MVC RESTful Url?
這讓我想到最近讀到一篇有趣的文章,說我有敏感的員工數據表中我擁有10萬行的數據庫。該表有一個稱爲Id的主鍵,它是一個標識列。
員工可以登錄Web Portal,並通過RESTful Url({Controller}/{Action}/{Id})檢索其詳細信息。 /員工/詳情/ 31
現在,什麼是阻止我用{Id}參數替換任何參數(例如Id = 32)和 檢索員工#32的詳細信息?這是花旗集團發生的事情嗎?
你如何預防這種情況?即用戶已經在門戶網站 上進行過身份驗證,但未授權查看其他用戶記錄?除了Id之外,我還需要爲 客戶使用其他特定的「令牌」嗎?
只是爲了補充一點,我已經實現了一個自定義的Membership API,並且這個工作正常,即創建了使用FormsAuthentication和FormsAuthentication Ticket(Cookie)的Employee登錄。然後,我檢查員工是否處於角色,IsAuthenticated等等,以授予控制器和操作的權限。但是......這仍然無法阻止訪問不屬於他的數據,也就是說,我被授權和驗證以訪問/ Employee/Details我仍然可以替換任何(猜測的)EmployeeId? – 2011-06-15 17:04:45
你也可以加密和解密你在你的網址中使用的所有ID,如果有人通過Skype將他的網址發送給某人,另一個人可以使用它 – Omu 2011-06-15 19:03:52