2011-07-07 82 views
0

可以說我有一個按鈕(稱之爲btnDeleteUser)調用事件服務器端刪除用戶(可以稱之爲DeleteUser())。假設我只在該按鈕上設置了btnDeleteUser.Visible = true,如果該用戶是管理員,並且默認爲false。我的理解是,.Visible屬性讓按鈕不會呈現給用戶。黑客是否仍然可以通過欺騙POST數據來觸發DeleteUser()事件?或者.NET以某種方式捕獲?ASP.NET Web窗體事件安全

我覺得這裏最好的做法是做任何事情之前再次檢查DeleteUser()用戶的憑據,但我很好奇,如果這是擺在首位,甚至可能...

我使用ASP .NET 4.0 Web窗體(不是MVC)。

回答

2

這是可能的欺騙嗎?是的,但事件驗證(假設你使用的WebForms,而不是MVC)應該抓住它。

但是,如果你在做客戶端的事情,比如向列表添加選項然後選擇它,那麼事件驗證將會出錯,因爲列表沒有其原始內容,所以人們最終關閉它以使他們的生活更輕鬆

即使你已經離開事件驗證開啓你應該有深入的戰略和角色檢查防禦不管。