Я новичок в ASP.NET. Недавно я создал автоматическую электронную почту с моего сайта, чтобы уведомить меня о необработанных исключениях. Всего несколько часов назад через 3 минуты было 10 необработанных исключений, и все следы стека были похожи. В сообщениях об ошибках, которые я не понимаю, много, но мне не нравится, как это выглядит.
Вот одно из сообщений электронной почты:
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 worker или переработке сервера.
Параметры процесса рабочего процесса asp относятся к элементу processModel в файле machine.config. Подробнее см. http://msdn.microsoft.com/en-us/library/7w2sway1(VS.80).aspx.
Рекомендуемым решением было установить зашифрованный файл machineKey в файле web.config. Ключ машины node находится в элементе system.web.
Это легко было сделать и решить проблему благодаря удобному сайту ASP.NETResources, который имеет MachineKey Generator. См. http://www.aspnetresources.com/tools/keycreator.aspx.