2012-10-02 57 views
-1

我使用asp.net MVC3從地址URL

http://localhost:1871/ManageMember/Admin/MemberDetail/3 

比如我上面的網址...你可以看到,參數3是很容易建立一個小型Web應用程序的篡改限制用戶可見,並且可由用戶改變,同樣可以看到關於該特定ID參數細節

http://localhost:1871/ManageMember/Admin/MemberDetail/5 

我想阻止用戶與URL篡改

+2

如果您提供了一些明顯的界面URL,您需要檢查服務器端是否有資格讀取/查看/訪問信息。 – Zeta

+0

我已經在Firefox中完成了這...這是可能的 –

回答

2

不可能,UNL不管怎樣,你都會破壞3(即在後端有一些映射,其中af320f32la0gw3bof320afj2fw5)。那麼至少會很難猜出的ID。

除此之外,您需要某種身份驗證才能初步查看35

最後,爲什麼你想阻止人們這樣做?似乎它可以方便的高級用戶。

0

IE允許你鎖定地址欄(不確定其他瀏覽器是否支持此功能)。但是,無論網站是如何簡單,困難,慌張或「混合」,正如E. Pills所指出的那樣,服務器端強制執行的授權將是強制性的(您的代碼和URL結構意味着您已經擁有身份驗證機制到位)。

您可以實現此目標的一種方法是在初始身份驗證時存儲服務器端會話令牌,並驗證所有傳入請求是否具有適當的授權。

0
if itIS == MVC 
use Request.ServerVariables["http_referer"] 
else if itIS == webforms 
use HttpRequest.UrlReferrer