zoukankan      html  css  js  c++  java
  • ValidateRequest问题

    1,在出现该错误的页面头部的page中加入ValidateRequest="false",那么该页面的任何一次Post提交都不会再验证提交内容的安全性。
    如:

    <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Manage/ViewMasterPageEdit.Master"     Inherits="System.Web.Mvc.ViewPage<MvcWebPhoto.Models.Entities.Article >" 

    ValidateRequest="false" % >



    2,在web.config中的pages节中配置validateRequest="false",如:

    <system.web >
    <pages validateRequest="false" ></pages > 
    </system.web >


    但这样,整个项目中的所有Form请求都不再验证提交内容的安全性,极不提倡这种做法。

    3,如果你使用的是.Net 3.5,MVC 2.0及更高的版本,那么可以在处理Post方法的Action添加一个特性:[ValidateInput(false)],这样处理就更加有针对性,提高页面的安全性。
    如:

    [HttpPost]
    [ValidateInput(false)]
    public ActionResult CatalogEdit(Catalog model)
    {
    return View();
    }



    重要
    如果你使用的是MVC 3.0,那么你会发现做了以上的设置后还是无效。这是因为你还需要在web.config中做以下设置:

    <system.web >
    <httpRuntime requestValidationMode="2.0" / >
    </system.web >


    注意:在MVC项目中,Views文件夹下与主项目下,都会有一个web.config文件。Views下的web.config文件只对Views文件夹下面的文件有效。如果你要处理的页面不在Views下面,那么<httpRuntime requestValidationMode="2.0" / >一定要设置在主项目下的web.config中才有用。

  • 相关阅读:
    一文搞懂 ThreadLocal 原理
    听说用 Lombok 可以早点下班?
    原来 CPU 为程序性能优化做了这么多
    如何优雅地中止线程?
    线程数,射多少更舒适?
    Elasticsearch 之聚合分析入门
    Go语言之旅:基本类型
    Go语言之旅:包
    网络七层协议之数据链路层
    网络七层协议之物理层
  • 原文地址:https://www.cnblogs.com/raorao1994/p/5552157.html
Copyright © 2011-2022 走看看