System.Web.HttpException:データを検証できません

2281 ワード

データを検証できません。


説明:現在のWebリクエストの実行中に未処理の例外が発生しました.スタックトラッキング情報を確認して、このエラーとコードでエラーが発生したソースの詳細を確認してください.異常詳細:System.Web.HttpException:データを検証できません.ソースエラー: Web 。 。
スタックトラッキング:
[HttpException (0x80004005):       。]
System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +195
System.Web.UI.LosFormatter.Deserialize(String input) +60
[HttpException (0x80004005): Authentication of viewstate failed. 1) If this is a cluster, edit configuration so all servers use the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. 2) Viewstate can only be posted back to the same page. 3) The viewstate for this page might be corrupted.]
System.Web.UI.LosFormatter.Deserialize(String input) +118
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +101

[HttpException (0x80004005): Invalid_Viewstate
Client IP: 127.0.0.1
Port: 1893
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322)
ViewState: dDwxODY1NjIyNzA4O3Q8O2w8aTwwPjs+O2w8dDw7bDxpPDExPjtpPDEzPjs+O2w8dDx0PDtwPGw8aTwwPjs+O2w8cDzlhazlj7jlhoXpg6jlhazmlofkv53lr4Y75YWs5Y+45YaF6YOo5YWs5paH5L+d5a+GPjs+Pjs+Ozs+O3Q8dDw7cDxsPGk8MD47PjtsPHA85pmu6YCaO+aZrumAmj47Pj47Pjs7Pjs+Pjs+Pjs+vqqb2s1CQU9RlhOI9o607b+P3X4=
Http-Referer:
Path: /attachcs/upload.aspx.]
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +447
System.Web.UI.Page.LoadPageViewState() +18
System.Web.UI.Page.ProcessRequestMain() +447

 
解決方法:page命令にmac(認証コード)を禁止する:ビューステータスメッセージ認証コード(MAC)は認証タグ(別名
認証値)は、メッセージに認証スキームと鍵を同時に適用すると作成されます.MACは、同じ鍵を用いて計算および検証される.したがって、MACは、所定の受信者によってのみ検証される.セキュリティハッシュアルゴリズム(SHA)、メッセージ要約5(MD 5)アルゴリズム、またはデータ暗号化規格(DES)アルゴリズムのようなMACを作成するために、複数の暗号化技術およびアルゴリズムを使用することができる.
ビュー状態MAC機能は、悪意のあるビュー状態データを含む要求の送信を防止するために使用される.デフォルトでは、ビュー状態MAC機能はMachineを用いる.configファイルの
EnableViewStateMac=「true」フラグが有効です.
問題がMACに関連しているかどうかを判断するには、最も簡単な方法は、この機能を閉じることです.そのためには
enable ViewStateMacフラグの設定
False.ビューステータスエラーが発生しなくなった場合、この問題はMACに関連しています.