我對ASP.NET很新。我最近在我的網站上設置了自動發送的電子郵件,以通知我一個未處理的例外情況。就在幾小時前的3分鐘內,有10個未處理的異常,所有的堆棧跟蹤都是相似的。在我看不懂的錯誤信息中有很多,但我不喜歡這種方式。這是試圖破壞我的ASP.Net網站的安全嗎?
這裏是電子郵件消息之一:
An unhandled exception occurred:
Message: Padding is invalid and cannot be removed.
Stack Trace:
at System.Security.Cryptography.RijndaelManagedTransform.DecryptData(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast)
at System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)
at System.Security.Cryptography.CryptoStream.FlushFinalBlock()
at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo)
at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType)
at System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
這是企圖侵入我的網站或其他什麼東西?
非常感謝那些提供了答案和評論提供的指出我在正確的方向得到這個例外的答案。原因可能很難確定,特別是當不在網上農場發生時。
IE 5.5並沒有像我之前想的那樣引起問題。
這不是很容易找到,但在我的網站主持人論壇上的一個職位提到了Viewstate錯誤報告。原因歸因於asp工作進程或服務器回收。
asp工作進程設置引用machine.config文件中的processModel元素。有關更多信息,請參閱http://msdn.microsoft.com/en-us/library/7w2sway1(VS.80).aspx。
建議的修復方法是在web.config文件中設置加密的machineKey。 Machine Key節點位於system.web元素中。
這很容易完成並解決了問題,這要歸功於具有MachineKey生成器的方便的ASP.NETResources站點。見http://www.aspnetresources.com/tools/keycreator.aspx。
謝謝你的迅速和翔實的答案。有什麼我需要做的,以防止這種異常再次發生?另外,我最終了解了try,catch的基本知識,但我對處理spefic異常知之甚少。 – PatrickWood 2009-03-06 06:52:29
@hunterpaw服務器事件查看器應該有導致錯誤的特定URL。它應該看起來像/WebResource.axd?d={gibberish}。如果是這樣,請閱讀machineKey設置以驗證您的設置是否正確:http://msdn.microsoft.com/en-us/library/ms998288.aspx – 2009-03-06 07:00:56