谁能解释一下viewstate和eventvalidation以及doPostBack的具体原理 本帖最后由 freemangod 于 2010-10-27 15:48:25 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 期待中哦 !整一晚了,我写的是ASP的登陆代码,但是采集的是ASP.net页面,所以我想这个版块的朋友们可能很容易解答一点,哪怕给点思路也挺好的。望版主不要删除哦! ViewState中默认是有个散列码的,就是为了防止别人串改里边的内容,除非你拿到对方电脑上machine.config中的key,否则你肯定会失败。 实际上我觉得你不用修改Viewsate的数据,你只不过把这些数据都post和你的用户名和密码post回就行了。 就是你开个httpWatch之类的,看看发送的时候的内容,改为用程序发而已,页面的内容不用动,只不过是动态的指定用户名和密码就行了 viewstae在客户端源码可见,是base64格式的,应该是原样提交即可。为什么需要machin.config中的key呢 我并没有修改viewstate,而是原样post过去,它显示无效的页面状态。 是base64,但还有个为了防止别人修改而增加的一个散列码,这个散列码在生成的时候会用到machine.config中的key 1.首先 EnableViewStateMAC=true 情况下,ViewState才会附加一个散列码,默认情况下是没有的.2.楼主的问题不在于ViewState的,建议楼主用Fiddler去监控一下正常网页上操作提交到目标网站的过程中提交了多少信息,应该是你模拟的提交信息不全. input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/" />ViewState在客户端的保存形式,保存在一个ID为__VIEWSTATE的Hidden中,它的Value是使用Base64编码后的字符串。这个字符串实际上是一个对象序列化之后的结果。这个对象保存了整个页面的控件树的ViewState。可以使用一些工具将这个字符串进行解码查看其内容,比如ViewStateDecoder,ViewStateAnalyzer。Page对客户端请求进行处理,在处理的过程中先是将客户端提交的_VIEWSTATE反序列化为对象,调用Control的相关方法给所有的控件装载数据,这些数据是上次请求结束后控件的状态数据。在请求结束之前调用Control的相关方法得到所有控件的被修改过的状态数据,之后Page将其进行序列化,并返回给客户端。在Control中又具体调用StateBag类的方法完成状态数据的加载和保存。Event Validation. 这个特性会对 PostBack 的值进行验证,httpwatch抓包分析 真是太谢谢大家了,总之,httpwatch帮了我的忙,真是个好东西。在此感谢. 从客户端(DetailsView1$ctl03="<div> <p class...")中检测到有潜在危险的 Request.Form 值 获取匿名类型 遍历ID html怎么用vs2005写后台 Petshop4.0的疑问 如编程建立Web应用程序,vs2003 Forms 验证demo 如何依次读取带有N行记录的dataset中的每行每列的值? 登陆不了,总是出错(附代码) MVC5 当前上下文中不存在名称"viewbag" repeater中获取不到checkbox的值 MSchart控件 怎么设置右侧的Y轴
望版主不要删除哦!
viewstae在客户端源码可见,是base64格式的,应该是原样提交即可。为什么需要machin.config中的key呢
我并没有修改viewstate,而是原样post过去,它显示无效的页面状态。
2.楼主的问题不在于ViewState的,建议楼主用Fiddler去监控一下正常网页上操作提交到目标网站的过程中提交了多少信息,应该是你模拟的提交信息不全.
value="/" />
ViewState在客户端的保存形式,保存在一个ID为__VIEWSTATE的Hidden中,它的Value是使用Base64编码后的字符串。这个字符串实际上是一个对象序列化之后的结果。这个对象保存了整个页面的控件树的ViewState。可以使用一些工具将这个字符串进行解码查看其内容,比如ViewStateDecoder,ViewStateAnalyzer。
Page对客户端请求进行处理,在处理的过程中先是将客户端提交的_VIEWSTATE反序列化为对象,调用Control的相关方法给所有的控件装载数据,这些数据是上次请求结束后控件的状态数据。在请求结束之前调用Control的相关方法得到所有控件的被修改过的状态数据,之后Page将其进行序列化,并返回给客户端。在Control中又具体调用StateBag类的方法完成状态数据的加载和保存。
Event Validation. 这个特性会对 PostBack 的值进行验证,httpwatch抓包分析