2017-05-09 55 views
0

我正在測試一個Web應用程序,這是一個出席提交頁面。其功能是,如果兩個用戶碰巧更新了相同的學生出勤率,我們將顯示最新變化的警告。如何在Web應用程序中處理視圖狀態數據?

對於這個開發人員已經實現了一些邏輯,他們將保存我們在文本框中輸入的值,這些值尚未保存在視圖狀態中。他們將比較視圖狀態,當前數據和數據庫數據的值,並顯示最新更改。

作爲測試的一部分,我想知道有無論如何,我可以修改/破解開發人員在視圖狀態下存儲的數據。

回答

0

你不能這樣做使用JavaScript,你可以通過JavaScript訪問隱藏字段「__ViewState」,但它都是加密的。您只能看到加密的值。

即使您通過javascript更改它,服務器端也會檢查數據是否被篡改。

您可以使用下面的代碼解密並查看viewstate。對於這項工作的ViewState中必須設置爲不加密More Info

string str = System.Text.Encoding.ASCII.GetString(Convert.FromBase64Strin‌​g(txtViewState.Text)‌​); 

但篡改視圖狀態是不太可能的,因爲EnableViewStateMac財產在ASP.NET More Info

+0

true默認情況下這意味着我沒有選項抓住這個數據的權利 – Tester

+0

你將能夠解密和查看數據[更多信息](http://stackoverflow.com/questions/2638671/is-it-possible-to-decrypt-and-view-viewstate-values) 。但是如果服務器端設置更緊張,篡改不太可能。 [更多信息](http://stackoverflow.com/questions/5728106/how-to-detect-viewstate-is-tamper-or-not-programatically)將它標記爲已回答,如果這回答你的問題 –

相關問題