Je suis assez nouveau à ASP.NET. J'ai récemment mis en place un courriel automatisé à partir de mon site Web pour me signaler une exception non gérée. Il y a quelques heures à peine, il y avait 10 exceptions non gérées et toutes les traces de pile étaient similaires. Il y a beaucoup de messages d'erreur que je ne comprends pas, mais je n'aime pas la façon dont cela se présente.Est-ce une tentative pour briser la sécurité de mon site ASP.Net?
Voici un des messages e-mail:
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)
Est-ce une tentative de pirater mon site ou autre chose? Merci beaucoup à ceux qui ont fourni des réponses et des commentaires qui m'ont orienté dans la bonne direction pour obtenir une réponse à cette exception. Sa cause peut être difficile à déterminer, surtout lorsqu'il ne se produit pas dans une ferme Web.
IE 5.5 ne causait pas le problème comme je le pensais précédemment.
Il n'a pas été facilement trouvé, mais un message sur mon forum hôte par l'un des membres du personnel mentionné des rapports d'erreurs Viewstate. La cause a été attribuée au processus de travail ASP ou au recyclage du serveur.
Les paramètres du processus de travail ASP font référence à l'élément processModel dans le fichier machine.config. Voir http://msdn.microsoft.com/en-us/library/7w2sway1(VS.80).aspx pour plus d'informations.
La solution recommandée consistait à définir une machineKey cryptée dans le fichier web.config. Le nœud Machine Key se trouve dans l'élément system.web.
Cela a été fait facilement et a résolu le problème grâce au site ASP.NETResources pratique qui a un Générateur MachineKey. Voir http://www.aspnetresources.com/tools/keycreator.aspx.
Nous vous remercions de votre réponse rapide et informative. Y a-t-il quelque chose que je dois faire pour empêcher que cette exception ne se reproduise? De plus, je connais les bases de l'essai, de la capture, enfin, mais je sais très peu de choses sur la gestion des exceptions spefic. – PatrickWood
@hunterpaw L'observateur d'événements du serveur doit avoir l'URL spécifique à l'origine de l'erreur. Cela devrait ressembler à /WebResource.axd?d={gibberish}. Si oui, lisez sur le paramètre machineKey pour vérifier le vôtre est correct: http://msdn.microsoft.com/en-us/library/ms998288.aspx –
Pourquoi cela a-t-il été rejeté? Est-ce faux? –