gpt4 book ai didi

asp.net - WebResource.axd 上的 "Padding is Invalid and cannot be removed"异常

转载 作者:行者123 更新时间:2023-12-02 08:54:03 29 4
gpt4 key购买 nike

我有一个 ASP.NET 2.0 应用程序,它在我们的本地环境中运行良好。当发布到测试服务器时,我们在服务器上遇到间歇性错误。

这是最常见的:

填充无效且无法删除。描述:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。

Exception Details: System.Security.Cryptography.CryptographicException: Padding is invalid and cannot be removed.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[CryptographicException: Padding is invalid and cannot be removed.]
System.Security.Cryptography.RijndaelManagedTransform.DecryptData(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount, Byte[]& outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast) +1545747
System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) +257
System.Security.Cryptography.CryptoStream.FlushFinalBlock() +30 System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Boolean useValidationSymAlgo) +164
System.Web.UI.Page.DecryptString(String s) +83
System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context) +148
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +358 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64

这发生在对特定 WebResource.axd 请求的请求上。

我们看到的另一个错误是:

Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

发布表单时偶尔会发生此错误。

现在,在您介入并告诉我此错误的明显(通常)答案之前,请考虑以下内容:

  • 应用程序部署到 IIS6 上的 Windows Server 2003
  • 它不在网络农场上。这里仅使用一台网络服务器。
  • 应用程序池身份是一个自定义服务帐户,我确实运行了 aspnet_regiss -ga <username>在服务器上。没有效果。

最佳答案

该错误是因为您的应用程序域被回收/重新启动。当发生这种情况时,应用程序和机器 key 设置为自动,它会发生变化。这会影响资源 url (.axd) 的 url 中信息的解密。设置固定的机器 key 将防止这种情况再次发生。

请检查此以获取有关类似案例的更多信息(解释是 View 状态验证问题,但原因是相同的):http://www.developmentnow.com/blog/InvalidViewstate+Or+Unable+To+Validate+Data+Error.aspx

我也想知道这个问题有一段时间了。当我看到这个问题后,我又开始想了:Is this an attempt to break my ASP.Net site's security? ...我刚才的回答非常相似。我有一种感觉,它是围绕某些东西的重新启动,因为当我们发布一些回收应用程序的东西时,错误显示在日志中,但我没有任何其他来源说明其关系(今天我在 invalidviewstate 上发现了这种情况,因为机器 key 更改:))

诗。上面最后在单服务器上解释了它:)

关于asp.net - WebResource.axd 上的 "Padding is Invalid and cannot be removed"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/309859/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com