gpt4 book ai didi

asp.net - 网络农场中的 View 状态验证失败 - 排除了常见的嫌疑人

转载 作者:行者123 更新时间:2023-12-02 16:34:32 25 4
gpt4 key购买 nike

我认为我已经尝试了这个问题的所有标准答案,并且我知道我已经阅读了数百个关于这个问题的问题和帖子,但它们似乎都没有解决它或阐明任何问题我的情况中的原因是什么。 (我已经 5 个小时了,还没有更近:-( )

  • 我有一个包含 2 台服务器的网络场。

  • 我已在两台计算机上的 machine.config 中设置了计算 secret 钥和验证 key

  • 加密:SHA1,解密:AES - 这些是默认设置,是否有助于更改它们?

  • 我已验证链中的其他配置文件(web.cfg、apphost 等)没有这些值的设置。

  • 我已向站点 ( based on this SO ) 添加了一个页面,该页面将计算 secret 钥值返回,并验证它们在对两台计算机的请求中是否相同,并且与 machine .config 中的值匹配

  • 服务器端 session 状态位于共享状态服务器中,我已验证 sessionid 在对 2 个服务器的请求之间保持不变。

  • 在启动帖子之前,我已验证页面已完全加载,并且 __EVENTVALIDATION 隐藏字段已呈现到页面中。 View 状态大小也不错,为 7.64kb

当根据对服务器 1 的请求呈现页面然后将其发回服务器 2 时,我会遇到可怕的情况...

Error Message:

Unable to validate data.
at System.Web.Configuration.MachineKeySection.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength)
at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) HttpApplication.RecordError => HttpApplication.RaiseOnError => global_asax.Application_Error

该帖子是由标准的、纯粹的 asp 链接按钮触发的,页面上没有使用 ajax。

任何和所有的帮助将不胜感激。

设置enableViewStateMAC = false不是解决方案:-)

最佳答案

继承了已配置状态的服务器,我从未质疑过 key 的有效性! ...刚刚检查它们在两台服务器上是否匹配...

保留所有加密/解密和验证算法设置不变,我使用 this tool 生成新 key 。 比其他的有更多的选择。

问题已解决

故事的寓意:如果有疑问,请生成新 key

...但是为什么以及如何呢?一些带有 View 状态的回发在旧 key 上工作得很好,只有当回发到不同的服务器时问题才变得明显。如果 key 无效 - 缺少字符或其他内容 - 那么每个回发都应该失败 - 我认为

关于asp.net - 网络农场中的 View 状态验证失败 - 排除了常见的嫌疑人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15886439/

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