2010-04-23 5 views
7

원하는대로 사용하지 않으려면 RequestValidationASP.NET MVC 2.0 RTM. 그래서 다음과 같이 몇 가지 필요에 볼 수있는 페이지의 지침 섹션을 추가 :ValidateRequest = False로 설정되었지만 여전히 True이고 무시되었습니다.

<%@ Page ValidateRequest="false" Language="C#" MasterPageFile="Path" Inherits="System.Web.Mvc.ViewPage<Path>" %> 

하지만 RequestValidation가 비활성화되지 않습니다! RequestValidation ')하지만 너무 비활성화되지 않습니다

[System.Web.Mvc.ValidateInput(false)] 
public System.Web.Mvc.ActionResult Create(Model instance) 
{ 
    //Do here something 
} 

을 : 나는 또한 다음과 같이 컨트롤러 관련 활동에 RequestValidation 속성을 추가!

<pages validateRequest="false" /> 

여전히 RequestValidation가 해제되지 않은 : 마지막 시도에서

은 내가 의 Web.config에서 false로 다음과 같이 파일을 RequestValidation을 설정!

왜? 감사의 뜻 :

+0

이 어떻게하여 validateRequest가 꺼져 있지 않은지 확인합니까 악성 코드를 방지하기 위해 값을 인코딩하는 것을 잊지 마세요? 또한 .net 프레임 워크 버전, asp.net 및 mvc 버전을 제공하십시오. –

+0

필드에 html 태그가있는 양식을 제출할 때 ValidationRequest 예외가 발생하기 때문입니다. 저는 ASP.NET 4.0과 MVC 2.0을 사용하고 있습니다 – Sadegh

+0

귀하의 링크에 감사드립니다. 그러나 만약 내가 이것을 수행하는 방법을 제공한다면, 이것의 모든 새로운 특징은 잃어 버릴 것입니다! 특정보기/컨트롤러에 대한 유효성 검사를 무시할 수있는 방법이 없습니까? – Sadegh

답변

11

asp.net 4.0을 사용하는 경우 유효성 확인 요청 기능 동작이 버전 2.0에서 변경되었습니다. breaking changes document here을 확인하십시오. 이 경우이 같은 Web.config의에서 다시 2.0로 요청 유효성 검사 동작을 설정하여 문제를 해결할 수 있습니다

<httpRuntime requestValidationMode="2.0" /> 
+2

오늘 내 엉덩이를 저장했습니다. 감사합니다 :) – SirDemon

+2

이것은 또한 나를 위해 문제를 해결합니다. 그러나 나는 왜 그런지 이해하지 못한다. 최신 변경 사항은 유효성 검사를 비 aspx 요청으로 확장하는 것에 대한 이야기이지만, 정상 aspx 페이지에만 사용하고 있습니다. 지금 당장은 validateRequest가 4.0에서 깨진 것 같습니다. 그렇지 않다면, 4.0으로 돌아가는 것이 본질적으로 2.0으로 되돌아 가지 않고 적절한 방법이 있습니까? – Nicolas78

+1

FYI : "첫 번째 변경 사항은 httpRuntime 요소의 requestValidationMode 특성을"2.0 "으로 설정하는 것입니다.이 설정을 사용하면 요청 처리 이벤트 시퀀스에서 나중에 요청 유효성 검사를 수행 할 수 있습니다. 나중에 ASP.NET 4의 경우 요청 수명주기에서 이전 버전의 ASP.NET에서보다 요청 유효성 검사가 일찍 발생합니다. " https://msdn.microsoft.com/en-us/library/hh882339.aspx – Gusman

0

단지

[(false)를 ValidateInput]을 추가

컨트롤러 기능 에서

하지만

[ValidateInput(false)] 
    public string Browse(string test) 
    { 
     string message = HttpUtility.HtmlEncode("Value = " + test); 
     return message; 
    } 
관련 문제