解决视图状态消息验证代码 (MAC) 错误
什么是视图状态?
视图状态是指在 ASP.NET 应用程序的 WebForms (.aspx) 页面中往返的信息。__VIEWSTATE 字段的 HTML 标记如下所示:
例如,可以将按钮控件的文本存储在 __VIEWSTATE 字段中。如果用户单击该按钮,则 Button_Click 事件处理程序将能够从视图状态字段中提取该按钮的文本。有关 ASP.NET 视图状态的更详细概述,请参阅 Microsoft Developer Network (MSDN) 网站上的 ASP.NET 视图状态概述主题。
由于 __VIEWSTATE 字段包含用于在回发时重建页面的重要信息,因此请确保攻击者无法篡改此字段。如果攻击者提交恶意的 __VIEWSTATE 负载,则攻击者可能会诱骗应用程序执行本不会执行的操作。
若要避免此类篡改攻击,可以使用消息验证代码 (MAC) 来保护 __VIEWSTATE 字段。回发时,ASP.NET 会验证与 __VIEWSTATE 负载一起提交的 MAC。在 Web.config 文件中,应用程序 元素中指定了用于计算 MAC 的密钥。由于攻击者无法猜测 <machineKey> 元素的内容,因此也就无法在试图篡改 __VIEWSTATE 负载时提供有效的 MAC。ASP.NET 会检测到有效的 MAC 没有提供,并拒绝此恶意请求。
------------------------------------------------------------------------------------
查下MSDN就明白了,validationKey和decryptionKey的默认值是AutoGenerate,由系统随机生成密钥
<machineKey validation="3DES"
</system.web>
方案二
解决视图状态消息验证代码 (MAC) 错误的更多相关文章
- java struts2入门学习---中文验证、对错误消息的分离、结果(result)类型细节配置
一.需求 利用struts2实现中文验证并对错误消息的抽离. 详细需求:用户登录-->不填写用户名-->页面跳转到用户登录页面,提示用户名必填(以英文和中文两种方式提示)-->填写英 ...
- Axis 调用.net WebServic接口出现:验证消息的安全性时错误发生
解决方法:call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP12_CONSTANTS); 參考:http://www.blogjav ...
- 【技术贴】解决myeclipse SVN 提交代码 commit:remains in tree-conflict错误的解决办法
[技术贴]解决myeclipse SVN 提交代码 commit:remains in tree-conflict错误的解决办法 错误是:Aborting commit: xxxxx’ remains ...
- Win 32 编程之按钮消息响应(代码小错误修复)
最近不想用MFC写东西了,有没有安装Qt和其他图形化开发环境,只能捣鼓API了.于是乎,就有了以下的学习-- 首先,老套的创建个Windows窗口,由于自己有点小懒,就直接用Hello Word的源码 ...
- 解决svn: Cannot negotiate authentication mechanism错误问题
解决svn: Cannot negotiate authentication mechanism错误问题 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/ ...
- MVC数据验证原理及自定义ModelValidatorProvider实现无编译修改验证规则和错误信息
Asp.net MVC中的提供非常简单易用的数据验证解决方案. 通过System.ComponentModel.DataAnnotations提供的很多的验证规则(Required, StringLe ...
- XE6移动开发环境搭建之IOS篇(5):解决Windows和虚拟机下Mac OSX的共享问题(有图有真相)
网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 在安装XE6 PAS ...
- SpringMVC学习系列-后记 结合SpringMVC和Hibernate-validator,根据后台验证规则自动生成前台的js验证代码
在SpringMVC学习系列(6) 之 数据验证中我们已经学习了如何结合Hibernate-validator进行后台的数据合法性验证,但是通常来说后台验证只是第二道保险,为了更好的用户体验会现在前端 ...
- SpringBoot系列五:SpringBoot错误处理(数据验证、处理错误页、全局异常)
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念: SpringBoot 错误处理 2.具体内容 在之前的程序里面如果一旦出现了错误之后就会出现一堆的大白板,这个白板会 ...
随机推荐
- 【转载】Zookeeper 安装和配置
[转载原文链接 ] Zookeeper的安装和配置十分简单, 既可以配置成单机模式, 也可以配置成集群模式. 下面将分别进行介绍. 单机模式 点击这里下载zookeeper的安装包之后, 解压到合适目 ...
- 浅说Java反射机制
工作中遇到,问题解决: JAVA语言中的反射机制: 在Java 运行时 环境中,对于任意一个类,能否知道这个类有哪些属性和方法? 对于任意一个对象,能否调用他的方法?这些答案是肯定的,这种动态获取类的 ...
- ASP.NET MVC WebApi接口授权验证
对于很任何多开发者来说,不管是使用任何一种框架,或者是使用任何一种语言,都要使用面向接口编程.使用面向接口编程的时候,那么就会有很多的权限验证,用户验证等等. 特别是对于一些系统来说,别人想要对接你的 ...
- arch+win7 双系统启动引导
笔者的电脑之前已经安装了win7,安装完arch后电脑中存在两个系统,因此需要引导连个系统. 1. 在安装arch时,一般都会安装grub.如果没有安装,则参考arch wiki中 grub2一节安装 ...
- phpize命令在安装AMQP插件是报错phpize:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF envir的解决方法
phpize命令在安装AMQP插件是报错phpize:Cannot find autoconf. Please check your autoconf installation and the $PH ...
- Java实现四则运算---任路乾,乐滔
1.GitHub地址:https://github.com/3116004700/ruanjiangongcheng 2.项目需求: 生成的题目中计算过程不能产生负数(完成) 生成的题目中如果存在形如 ...
- bootstrap css排版
smart-form 单行元素: 一般用div包含,class="row" 列元素:用section包含,class="col col-x"(section带有 ...
- 使用Amazon Simple Queue Service(SQS) 实现简单的消息服务
一 引言 亚马逊Amazon作为云计算的领跑者推出了很多云服务,最近因为项目的原因,需要用到SQS服务,因此简要地写下这篇随笔,一来方便以后查阅,二来方便共享一些简单的操作. SQS即可以理解为一个 ...
- jquery实现简单抽奖功能
一直纠结要怎么用jquery实现抽奖功能,看别人很多都是用flash制作的,找了很多资料,最终找到一个比较适合需求的,我做了些许调整,以下是代码展示(复制下来可以直接使用). 先上图:
- 如何使用jQuery写一个jQuery插件
jQuery插件其实是前端框架的思维,构成一个框架,个人认为必须满足以下几个基础条件:1. 可重用,2. 兼容性,3. 维护方便,虽说现在有很多比较成熟的前端框架,但是也有部分存在配置麻烦,学习成本大 ...