解决视图状态消息验证代码 (MAC) 错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了解决视图状态消息验证代码 (MAC) 错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2337字,纯文字阅读大概需要4分钟。
内容图文
什么是视图状态?
视图状态是指在 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>
方案二
原文:https://www.cnblogs.com/kelelipeng/p/10767435.html
内容总结
以上是互联网集市为您收集整理的解决视图状态消息验证代码 (MAC) 错误全部内容,希望文章能够帮你解决解决视图状态消息验证代码 (MAC) 错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。