我目前正在修復我們的ASP.net網站應用程序中的一些安全問題。EnableViewStateMAC = true對於ASP.Net網站中的ViewStateEncryption是否強制?
其中一個問題是ViewState
未加密。
所以我確實檢查了StackOverFlow和其他地方如何加密viewState,並且我使用<pages viewStateEncryptionMode="Always" />
並在Web.config中添加了像這樣的<machineKey validation="3DES" />
這樣的3DES機器鍵。
我想知道"EnableViewStateMAC=true"
也是強制性的必要嗎?,因爲這是我在網上找到的一些建議解決方案中提到的。 但是,在我的支票上,我發現即使沒有這個,加密也可以正常工作。
[注:我從做個人網頁的變化做這些改變在應用程序級別(Web.config文件)是該應用不是一個可行的解決方案]
如果你要加密你的ViewState,最好MAC地址,以檢測攻擊者篡改數據。單獨加密並不能提供消息的完整性。 – mfanto