zoukankan      html  css  js  c++  java
  • 填充无效,无法被移除(Padding is invalid and cannot be removed)

    这里在使用asp.net ajax的程序发布后经常出现的一个异常情况。其实早在使用atlas时,就已经出现了这个异常了,只是那时并没有非常频繁的出现,也就是在程序启动后规律性的出现几次后就不发生了。由于不影响整个程序的正常运行也就没有关注了。但是在更新到asp.net ajax beta2版本后,并且使用了泛解析使用二级域名后就经常出错了,而且有几个规律:

    1.在所有看到这个异常的邮件中,查看到的IP都是google的访问。而没有其它的用户,甚至是搜索引擎。

    2.在出错的地方大部分是用二级域名访问资源路径:如 http://*.*.com/ScriptResource.axd?d=42zFeGddIOG6Ha39Bm22fyspDkNNAkCyiJm0F-kHdJ6O7yOwanGTbMYrJ6yzzZzUmROqn-J-NAWN5_V3qQJ90iV1TUiF-c0EYaTG7q-FEduJI7Emddi3XbvRgK-wH9VD0&t=632997086300000000

    3.在分析的几个查询参数都不一样(d,t),照理说,要获得相同的脚本路径应用是使用相同的查询参数的啊。

    简单分析:从目前获取的一些信息可以表明,这是由于google在访问了不存在的脚本资源出现的加密错误。可是它是怎么得到这些不存在的脚本资源路径的呢?为什么正常访问的用户不会出错呢?目前还没有自己得到很好的解释。

    发布环境:asp.net ajax beta2,使用了UrlRewrite,Release version Assembly,没有限制ScriptResorce.axd的表单访问权限,web.config的debug=false 。

    虽不影响正常运行,但为了随时了解程序的运行情况,我开启了healthmoniter,现在邮箱都快被填爆了。

    如果您也有出现过类似异常,欢迎讨论。如果您已解决过类似异常,还请指教。

    附上异常信息:

    填充无效,无法被移除。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
    异常详细信息: System.Security.Cryptography.CryptographicException: 填充无效,无法被移除。
    源错误:

    执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

    堆栈跟踪:

    [CryptographicException: 填充无效,无法被移除。]
    System.Security.Cryptography.RijndaelManagedTransform.DecryptData(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast) +1489116
    System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) +306
    System.Security.Cryptography.CryptoStream.FlushFinalBlock() +30
    System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Boolean useValidationSymAlgo) +154
    System.Web.UI.Page.DecryptString(String s) +79
    [TargetInvocationException: 调用的目标发生了异常。]
    System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +0
    System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +72
    System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +358
    System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +29
    System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) +17
    Microsoft.Web.Handlers.ScriptResourceHandler.DecryptString(String s) +185
    Microsoft.Web.Handlers.ScriptResourceHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext context) +325
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +154
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64
    
    阿不 http://hjf1223.cnblogs.com
  • 相关阅读:
    opencv学习记录之霍夫变换
    opencv学习记录之模板匹配
    opencv之傅里叶变换
    opencv学习记录之图像金字塔
    opencv学习记录之图像梯度
    opencv学习记录之形态学操作
    opencv学习记录之腐蚀和膨胀
    使用Python解析豆瓣上Json格式数据
    互联网之子--亚伦.斯沃茨
    Json技术使用代码示例
  • 原文地址:https://www.cnblogs.com/hjf1223/p/608525.html
Copyright © 2011-2022 走看看