【发布时间】:2017-03-27 14:29:26
【问题描述】:
使用 ASP.NET 视图状态可能会导致多服务器环境中出现问题。
Resolving view state message authentication code (MAC) errors
视图状态是在 WebForms 之间往返的信息 (.aspx) 页面在 ASP.NET 应用程序中。 ...
因为 __VIEWSTATE 字段包含重要信息 用于在回发时重建页面,确保攻击者 不能篡改这个字段。 ...
为了防止这种篡改攻击,__VIEWSTATE 字段是 受消息验证码 (MAC) 保护。 ASP.NET 验证 与 __VIEWSTATE 有效负载一起提交的 MAC,当 回发发生。
有多种方法可以通过多服务器环境缓解此问题(在上面链接的文章中详细说明)。
这些方法是否需要在设置为自动缩放的 Azure Web 应用中应用?
【问题讨论】:
-
您是否尝试过部署多实例应用服务并测试 PostBack 行为?我不能肯定地说,但我觉得应用服务会为您处理这类事情,例如解密一个实例上的值,而这些值在另一个实例上被加密。
标签: asp.net azure azure-web-app-service viewstate