System.Web.UI.ViewStateException,无效的视图状态

2024-01-27

我的网站每天都会抛出以下异常,但我找不到解决方案。 我在网络上做了很少的研究,这就是我到目前为止所做的。将以下选项添加到 aspx 不会解决问题。

ValidateRequest =“假”EnableEventValidation =“假” ViewStateEncryptionMode =“从不”EnableViewStateMac =“假”

另外,我的推荐网址是正确的网址,我不知道它如何使用两个(相同)参数进行重定向。我的推荐页面中没有这样的链接。请帮忙。

错误日志

URL : http://www.abcd.com/company-details.aspx?com=asia-pacific-pte-ltd&com=asia-pacific-pte-ltd

referral URL : http://www.abcd.com/companies/asia-pacific-pte-ltd/

Inner Exception Type: System.Web.UI.ViewStateException

Inner Exception: Invalid viewstate. Client IP: 192.162.19.193 Port: 1966 User-Agent: Opera/9.80 (Windows NT 6.1; WOW64; MRA 6.0 (build 6001)) Presto/2.12.388 Version/12.11 ViewState: /wEPDwULLTEyMTAyMTY3NDAPZBYCAgMPZBYOZg8QDxYGHg1EYXRhVGV4dEZpZWxkBQdDb3VudHJ5Hg5EYXRhVmFsdWVGaWVsZAUNQ2xlYW5fQ291bnRyeR4LXyFEYXRhQm91bmRnZBAVCgNBbGwFQ2hpbmEJSG9uZyBLb25nBUluZGlhCUluZG9uZXNpYQhNYWxheXNpYQtQaGlsaXBwaW5lcwlTaW5nYXBvcmUIVGhhaWxhbmQHVmlldG5hbRUKA0FsbAVjaGluYQlob25nLWtvbmcFaW5kaWEJaW5kb25lc2lhCG1hbGF5c2lhC3BoaWxpcHBpbmVzCXNpbmdhcG9yZQh0aGFpbGFuZAd2aWV0bmFtFCsDCmdnZ2dnZ2dnZ2dkZAIBDxAPFgYfAAUISW5kdXN0cnkfAQUOQ2xlYW5fSW5kdXN0cnkfAmdkEBXFAgNBbGwSQWR2YW5jZWQgTWF0ZXJpYWxzC0FkdmVydGlzaW5nCkFlc3RoZXRpY3MLQWdyaWN1bHR1cmUkQWdyaWN1bHR1cmUgLSBBZ3JpY3VsdHVyYWwgTWFjaGluZXJ5G0FncmljdWx0dXJlICYgRm9vZCBQcm9kdWN0cxBBaXItY29uZGl0aW9uaW5nHUFpci1maWx0cmF0aW9uICYgUHVyaWZpY2F0aW9uB0FpcnBvcnQJQWx1bWluaXVtFEFuYWx5dGljYWwgRXF1aXBtZW50GkFuYWx5dGljYWwgSW5zdHJ1bWVudGF0aW9uFUFuYWx5dGljYWwgVGVjaG5vbG9neRZBbmQgSW50ZXJpb3IgRGVzaWduZXJzEUFuaW1hbCBQcm9kdWN0aW9uCEFudGlib2R5KUFwc...

Inner Source: 

Exception Type: System.Web.HttpException

Exception: The state information is invalid for this page and might be corrupted.

Stack Trace: at System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) at System.Web.UI.HiddenFieldPageStatePersister.Load() at System.Web.UI.Page.LoadPageStateFromPersistenceMedium() at System.Web.UI.Page.LoadAllState() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.exhibition_details_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0f461847\442b0502\App_Web_bfjqxdef.20.cs:line 0 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

UPDATE我通过从下面的链接压缩 ViewState 修复了错误http://www.codeproject.com/Articles/14733/ViewState-压缩 http://www.codeproject.com/Articles/14733/ViewState-Compression

并通过用此替换原始方法修复了 Base-64 字符数组错误的无效长度。

protected override object LoadPageStateFromPersistenceMedium()
    {
        string viewState = Request.Form["__VSTATE"];
        viewState = viewState.Replace(" ", "+");

        int mod4 = viewState.Length % 4;
        if (mod4 > 0)
        {
            viewState += new string('=', 4 - mod4);
        }
        byte[] bytes = Convert.FromBase64String(viewState);
        bytes = Compressor.Decompress(bytes);
        LosFormatter formatter = new LosFormatter();
        return formatter.Deserialize(Convert.ToBase64String(bytes));
    }

谢谢大家的帮助:)


我很抱歉这么说但是你的网站没有任何问题,并且您需要尽快重新启用您的 EventValidations。

你看到的是试图破解您的网站 https://stackoverflow.com/questions/3720720/how-serious-is-this-new-asp-net-security-vulnerability-and-how-can-i-workaround通过发送许多测试您的 ViewState 试图找到您的哈希键的数字 http://www.youtube.com/watch?v=yghiC_U2RaM.

The 您提供的 IP 有过去几天的大量活动列表 http://stopforumspam.com/ipcheck/192.162.19.193.

现在,可能导致此错误的另一种原因是 ViewState 的破坏。你可以压缩并分割它 https://stackoverflow.com/questions/8877252/limiting-view-state-information-on-ajax-calls/8964708#8964708如果你的 ViewState 太大。你也可以禁用所有不需要的控件 https://stackoverflow.com/questions/12086120/how-i-can-deactivate-viewstate-without-control-problems/12086277#12086277。您还可以添加一个登录以从内部查看基本页面上正在发生的情况 https://stackoverflow.com/a/2551810/159270.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

System.Web.UI.ViewStateException,无效的视图状态 的相关文章

随机推荐

  • 防止/使修补二进制程序集变得困难

    我不确定术语是否正确 您可以使用哪些代码实践来使某人难以修改二进制文件 程序集以绕过检查 例如在源代码中 bool verificationResult verify if verificationResult allow Somethin
  • java.lang.ClassNotFoundException:org.springframework.boot.SpringApplication 与 maven-jar-plugin

    我是 Spring 和 Maven 的新手 我正在尝试运行一个简单应用程序的 jar 但收到以下错误 java jar target gs rest service 0 0 1 SNAPSHOT jar Exception in threa
  • iOS 14 中 UIBarButtonItem 是否不再支持accessibilityLabel?

    Update 此错误已在 iOS 14 5 中修复 我将以下类嵌入到UINavigationController class ViewController UIViewController override func viewDidLoad
  • 如何在 C# 中生成随机命名的文本文件?

    我必须创建一个循环来生成一个 5 个随机选择的字母字符串 然后在该名称下创建一个文本文件 比如说 C 我将如何做到这一点 生成名称并在目录中创建文件 我想我必须从 ascii 代码中挑选 5 个随机数 将它们添加到一个数组中 然后将它们转换
  • 如何在 Xcode 中链接动态库?

    我目前正在 Qt 中开发一个程序 它使用库 libqextserialport 1 dylib 我构建它并在 x 代码中运行 它返回 dyld Library not loaded libqextserialport 1 dylib Ref
  • 创建数组时出现系统 OutOfMemoryException

    我得到一个SystemOutOfMemoryException创建数组时 然而length我的阵列does not exceed Int32 MaxValue 这是代码 请不要评判该代码 它不是我的代码 至少有 7 年历史 Dim myFi
  • GNU find:什么时候应用默认操作?

    Debian 8 的 find 命令的手册页显示 如果整个表达式不包含除 prune 或 print 之外的任何操作 print 对整个表达式为 true 的所有文件执行 那么为什么这些输出不同 mkdir p test foo test
  • 可变字段不应该是“公共静态”

    我收到下面一行的 sonarQube 错误 有专家建议如何解决这个问题吗 提前致谢 protected static final String COLUMN NAMES new String date customerNumber cust
  • 尝试编写 IRC 客户端,但很难找到有关代码和连接协议的优质资源

    我已经看过 RFC 但我仍然在挣扎 我已经用 C 编写了一个基本客户端 但找不到有关如何正确连接的文档 一旦我连接并传输NICK和USER信息 我就需要加入一个频道 如果我立即执行 JOIN 则不会发生任何事情 大概是因为太早了 我必须推迟
  • 将角度分量文件拆分为单独的文件

    我有一个角度分量 绘制组件 它有很多按钮 如绘制矩形 绘制圆形等 我正在使用 paperjs 它有助于实际绘图 我有一些已更新的常见对象 例如 我有一个 paperjs 对象 每当我绘制任何形状 无论是圆形 矩形还是任何其他形状 时 该对象
  • 使用 SAM 在本地调用 Lambda 失败/超时

    我正在尝试获取本地环境来使用 VSCode windows 运行 调试 Python Lambda 我正在使用提供的 HelloWorld 示例来掌握这一点 但我无法调用 用于设置 SAM 和调用 Lambda 的步骤 我已经安装并运行了
  • 是什么导致 MyISAM 损坏? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我听说 MyISAM 表可能会损坏 什么样的操作最有可能损坏它们以及如何安全地修复所述损坏 MySQL 文档对此非常明确 http d
  • 如何在 Javascript 中按属性数量对对象进行排序? [复制]

    这个问题在这里已经有答案了 我有一个对象 William Hill bet365 royal panda pay 0 karamba roller 0 braned 0 pay 0 betfred braned 0 并想按属性数量对其进行排
  • 如何在 Python 中将二叉树打印为节点结构

    我有一个蟒蛇代码 https 1drv ms f s Aj9lfQS8qKqwnWiXL t6pVaPHu0y将字符串数学表达式转换为二叉树并对树的节点进行排序 以便左子节点始终小于右子节点 我想按以下顺序打印二叉树 例如 考虑数学表达式
  • 任务与异步任务

    好吧 我一直在试图解决这个问题 我读过一些文章 但没有一篇提供我正在寻找的答案 我的问题是 为什么Task必须返回一个任务async Task不是吗 例如 public override Task TokenEndpoint OAuthTo
  • 使用循环通过网络抓取创建表

    我正在尝试通过网络抓取tax rates org来获取德克萨斯州每个县的平均税率 我在 csv 文件中有一个包含 255 个县的列表 我将其导入为 TX counties 它是一个单列表 我必须将每个县的 URL 创建为字符串 因此我使用
  • 处理 Hadoop SequenceFile 中的 Writables 完全限定名称更改

    我有一堆 Hadoop SequenceFiles 它们是用我编写的一些 Writable 子类编写的 我们称之为 FishWritable 这个 Writable 在一段时间内运行良好 直到我决定为了清晰起见需要对包进行重命名 所以现在
  • gensim word2vec 访问输入/输出向量

    在 word2vec 模型中 有两个线性变换 将词汇空间中的单词带到隐藏层 in 向量 然后返回词汇空间 out 向量 通常这个输出向量在训练后会被丢弃 我想知道是否有一种简单的方法可以访问 gensim python 中的输出向量 同样
  • 如何从字符向量解析 CSV 数据以提取数据框?

    R 中的 read table 和 read csv 函数用于解析包含分隔数据的文件或 URL 并生成 R 数据帧 但是 我已经有一个包含 CSV 分隔数据的字符向量 使用逗号和 n 作为列和记录分隔符 因此我不需要从文件或 URL 中读取
  • System.Web.UI.ViewStateException,无效的视图状态

    我的网站每天都会抛出以下异常 但我找不到解决方案 我在网络上做了很少的研究 这就是我到目前为止所做的 将以下选项添加到 aspx 不会解决问题 ValidateRequest 假 EnableEventValidation 假 ViewSt