2017-08-29 46 views
-1

我有一段代碼,通過檢查URL引用阻塞當URL引用被剝離

if (filterContext.RequestContext.HttpContext.Request.UrlReferrer == null) 
{ 
    // redirect somewhere else 
} 

理想的情況下阻止URL黑客到網頁網址黑客,這是阻止有人通過僅改變看記錄的詳細信息頁身份證(所以,人/ 1,人/ 2等)

現在,這是好的,如果引用者沒有被瀏覽器剝離,但如果是。有沒有解決這個問題的方法?

我使用C#MVC

+3

與其查看URL引用鏈接,爲什麼不檢查用戶所處的任何進程的工作流程狀態,以確保它們在該時間點被允許在該頁面上? – mason

+0

您知道可以從客戶端發送任何UrlReferrer。所以這絕不是一種安全的方式。 – Magnus

+0

許多小型應用程序刮掉或以其他方式顯示其中的網頁都不會麻煩發送引用標頭。合法與否。 – ahwm

回答

0

沒有解決方案這一點,或者是有或者是不能不網址裁判並不意味着是一種安全機制。它可以很容易僞造。如果你唯一擔心的是URL劫持,那麼你可以做的最低限度的掛果改變就是將你的ID字段改爲uniqueIdentifier(Guid),這樣用戶就不能只將增量數字附加到你的url。