ViewState 安全嗎?

摘要:ViewState 安全嗎?

通常我們使用 ViewState 來儲存某個網頁間往返的資訊


在網頁檢查原始碼會看到

這是使用 Base-64 編碼原則,因此有心人可反編碼取得資訊。
所以一般都建議敏感性資料不要儲存在 ViewState 中。

但…真的不安全嗎??

其實我們可以通過屬性的設定來加密 ViewState

方法1: 在 Web.config 中設定

方法2: 在每個 aspx 的 @ Page 指示詞中設定

這時檢示網頁原始碼會變成

ViewStateEncryptionMode 屬性:
a. Auto - 如果控制項呼叫 RegisterRequiresViewStateEncryption 方法要求加密,
                則 ViewState 資訊會加密。(預設值)
b. Always - ViewState 資訊永遠加密。
c. Never - ViewState 永遠不加密,即使控制項要求加密也不會加密。