Asp.net

我的 VIEWSTATE 加密了嗎?

  • June 14, 2011

我有點困惑。我沒有明確設置 Web.config <pages ViewStateEncryptionMode="Always" />,所以這個 MSDN 頁面說它應該預設為Auto. 這個 MSDN 頁面說,如果控制項通過呼叫該方法Auto請求加密,則應該使視圖狀態資訊被加密。RegisterRequiresViewStateEncryption但是,我的控制項都沒有呼叫該方法。所以看起來我的視圖狀態實際上不應該被加密。

但是,當我將視圖狀態複製/粘貼到各種線上 視圖狀態 解碼器之一時,我被告知視圖狀態序列化數據無效。那麼,我的視圖狀態是否加密?有什麼明顯的方法可以告訴嗎?除非您禁用它,否則預設的 ASP.net 行為是否已更改為預設編碼視圖狀態?

如果將其設置為 Always 或 auto,則所有控制項狀態都將被加密。所有呼叫RegisterRequiresViewStateEncryption視圖狀態的控制項都將被加密,而與 Auto/Always 無關。如果您的“自定義控制項”需要加密,請呼叫此選項。

在MSDN上看到這個

如果您正在開發處理潛在敏感資訊的自定義控制項,請呼叫 RegisterRequiresViewStateEncryption 方法將控制項註冊到頁面並確保控制項的視圖狀態已加密。

如果 ViewStateEncryptionMode 設置為 Auto 或 Always,則整個頁面狀態將被加密。

引用自:https://stackoverflow.com/questions/6343028