栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通过网址提取服务从Google App引擎发送发布请求时,对viewstate MAC进行验证失败

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过网址提取服务从Google App引擎发送发布请求时,对viewstate MAC进行验证失败

看来您正在

POST
对aspx页面执行操作。

当aspx页面接收到

POST
请求时,它会期望一些隐藏的输入,这些隐藏的输入具有已编码的ViewState-
如果浏览到有问题的页面和“查看源代码”,则应该在
<form />
标记内看到一些类似于以下内容的字段:

<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /><input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="xxxxxxxxx" />

因为您提交的

POST
请求中没有这些值,所以解码和验证它们时会遇到麻烦(这就是错误的含义-在其他情况下,它也会由于其他原因而出现)。

有两种可能的解决方案:

1-如果您有权访问网站的代码,并且登录页面不需要ViewState,则可以尝试在

@Page
伪指令中的页面级别将其关闭:

<%@ Page ViewStateMode="Disabled" .... %>

2-您可以执行双重请求-

GET
在登录页面上进行请求以检索所有缺少的隐藏字段的值-使用这些值并将其包括在您的
POST

编辑 啊,是的,从您的评论中我可以看到您已经包含了隐藏的表单字段-抱歉!

在这种情况下,另一种可能性是登录页面处于负载平衡的环境中。该环境中的每个服务器将具有一个不同的

MachineKey
值(用于对ViewState进行编码/解码)。您可能正在阅读中的一个,然后在另一个中发布。一些LB将ArrowPoint
cookie注入响应中,以确保您在请求之间“粘贴”到同一服务器。

我可以看到您已经在其中包含一个cookie

POST
,但看不到它的定义位置。是来自第一个
GET
请求,还是自定义cookie?如果您还没有尝试过,也许尝试使用原始的cookie来
GET
获取登录页面HTML?除此之外,我没主意-
对不起!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/455175.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号