可否帮我解释一下:
<pages validateRequest="false" enableEventValidation="false" viewStateEncryptionMode ="Never" /> 

解决方案 »

  1.   

    禁用请求验证功能 好像孩目SQL 注入 什么的
      

  2.   

    ValidateRequest 
    默认地,ASP.NET 1.1和2.0请求验证会对送至服务器的数据检测是否含有HTML标记元素和保留字符.这可以防止用户向程序中输入脚本.请求验证会对照一个有潜在威胁的字符串列表进行匹配,如果发现异常它会抛出一个HttpRequestValidationException类型的异常.  你可以在你的web.config文件中的<pages>元素中加入validateRequest="false" 或在单独的页面的@Pages元素里面设置ValidateRequest = "false"来禁用此项功能.  如果你想禁用请求验证功能,你可以仅在需要的页面禁用它.比如你在程序页面上包含一个可接受HTML格式输入的字段.enableEventValidation
    在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。ViewStateEncryptionMode可以在Page指令中使用ViewStateEncryptionMode属性来为单个网页启用加密。<%@Page ViewStateEncryptionMode="Always">也可以在web.config配置文件中设置相同的属性:<pages viewStateEncryptionMode="Always">任何一种方法都可以强制加密。视图状态加密设置有3个选项:总是加密(Always)、从不加密(Never)、控件明确请求的加密(Auto)。默认值是Auto,意思就是控件必须调用Page.RegisterRequiresViewStateEncryption()方法来请求加密。如果控件没有调用这个方法来指明它包含了敏感信息,视图状态就不会加密。因此减少了加密带来的负载。另一方面,控件调用加密并不是绝对有效的,如果它调用了Page.RegisterRequiresViewStateEncryption(),但加密选项的选择是Never,视图状态仍不会被加密。