Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

徵狀

您將安全性更新 MS10-070 套用至部署在 Web 伺服陣列中、做為 Microsoft ASP.NET 網站的伺服器後,Web 伺服陣列中的部份伺服器或應用程式可能會遇到下列一或多個徵狀:

  • 無法解密資料

  • WebResource 或 ScriptResource 處理常式發生例外狀況

  • 使用表單驗證時發生驗證失敗

  • 發生「無效的 Viewstate」例外狀況

  • 嘗試解密資料 (例如表單驗證 Cookie) 時,發生「無法驗證資料」例外狀況

存取 ASP.NET 應用程式失敗時,系統會呈現發生應用程式例外狀況的狀態,類似下列的資訊也會記錄在應用程式記錄檔中。


訊息 1:

System.Web.HttpException:無法驗證資料。位於 System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo, Boolean signData)
訊息 2:


事件類型:警告
事件來源:ASP.NET 2.0.50727.0
事件類別:Web 事件
事件識別碼: 1309
日期:日期
時間:時間
使用者:N/A
描述:
事件代碼: 3005
事件訊息:發生未處理的例外狀況。
例外狀況資訊:
例外狀況類型:HttpException
例外狀況訊息:無法驗證資料。

發生的原因

佈告欄 MS10-070 的安全性更新解決了 ASP.NET 中加密的預設行為變更問題。安裝安全性更新後,即使只有要求加密,新的預設行為也會在加密之外再額外執行驗證。這個預設行為會在已套用此更新的伺服器上變更加密的裝載。裝載包括檢視狀態和表單驗證的 Cookie。如果 Web 伺服陣列中只有部份伺服器有套用安全性更新,則不同的伺服器針對相同的裝載所使用的加密和解密方法將會有所差異,而這樣的行為差異將導致例外狀況。如果表單驗證 Cookie 在套用安全性更新前已持續存在系統中,但在套用安全性更新後仍在使用中,系統也會發生這樣的行為。

此外,不同的 Microsoft .NET Framework 2.0 服務套件版本所使用的加密和解密方法也不盡相同。因此,在已安裝安全性更新的 Web 伺服陣列環境中,擁有不同程度的 .NET Framework 服務套件會導致不同的加密裝載,並發生類似的解密失敗情形。

解決方案

請確定供應 ASP.NET 內容的所有伺服器符合下列情況:

  • 在 Web 伺服陣列中供應 ASP.NET 網站的所有伺服器都必須安裝安全性更新。如果有部份伺服器未安裝安全性更新,您必須將更新套用至這些伺服器。

  • 如果 MS10-070 安全性更新已套用至所有系統,在 Web 伺服陣列中執行某版 .NET Framework 2.0 的所有電腦都必須更新至相同程度的服務套件。如果伺服器的服務套件程度有不一致的情形,您必須將所有的伺服器更新為最新的服務套件,然後重新套用所有的安全性更新。因此,如果 Web 伺服陣列中有部份的伺服器是執行 .NET Framework 2.0 SP1,另一部份的伺服器是執行 .NET Framework 2.0 SP2,則在套用安全性更新至 Web 伺服陣列中的所有伺服器前,所有的 .NET Framework 2.0 SP1 伺服器都必須升級至 .NET Framework 2.0 SP2。

  • 請確定應用程式未使用加密資料,例如套用更新前已產生的表單驗證 Cookie。套用安全性更新後,先前已加密的資料必須重新整理過。

如需更多有關如何偵測 .NET Framework 版本以及在伺服器上安裝安全性更新的資訊,請參閱<參考>一節。

参考

如需更多有關 ASP.NET 檢視狀態的資訊,請參閱下列文件:

ASP.NET 檢視狀態概觀如需更多有關 ASP.NET 表單驗證的資訊,請參閱下列文件:

ASP.NET 表單驗證概觀如需更多有關 ASP.NET 表單驗證的票證和 Cookie 資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

910443 瞭解表單驗證的票證和 Cookie 如需更多有關 ASP.NET Web 資源處理常式的資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

910442 使用 ASP.NET 2.0 中的 Web 資源

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×