ASP.NET VIEWSTATE初探[3]

发表于:2010-05-18来源:作者:点击数: 标签:VIEWSTATEViewStateAsp初探Net
ASP.NET VIEWSTATE初探[3] 软件测试 七、禁用 ViewState 通过将对象的 EnableViewState 属性设置为 False 禁用了 ViewState。可以针对单个控件、整个页面或整个应用程序禁用 ViewState,如下所示: 每个控件(在标记上) 每个页面(在指令中) 每个应用程序(在 w

  ASP.NET VIEWSTATE初探[3]  软件测试 

   七、禁用 ViewState

  通过将对象的 EnableViewState 属性设置为 False 禁用了 ViewState。可以针对单个控件、整个页面或整个应用程序禁用 ViewState,如下所示:

  每个控件(在标记上)

  每个页面(在指令中) <%@ Page EnableViewState="False" ?%>

  每个应用程序(在 web.config 中)

  八、使 ViewState 更安全

  由于 ViewState 没有被格式化为清晰的文本,某些人有时会认为它被加密了,其实并没有。相反,ViewState 只是进行了 Base64 编码,以确保值在往返过程中不会发生变化,而并不考虑应用程序使用的响应/请求编码。

  可以向应用程序中添加两种 ViewState 安全级别:

  1)防篡改

  2)加密

  需要注意的是,ViewState 安全性对于处理和呈现 ASP.NET 页面所需的时间有直接的影响。简单地说,安全性越高,速度越慢。因此如果不需要,请不要为 ViewState 添加安全性。

  九、防篡改

  尽管散列代码不能确保 ViewState 字段中实际数据的安全,但它能够显著降低有人通过 ViewState 骗过应用程序的可能性,即防止回传应用程序通常禁止用户输入的值。

  可以通过设置 EnableViewStateMAC 属性来指示 ASP.NET 向 ViewState 字段中追加一个散列代码:

原文转自:http://www.ltesting.net