2009-07-14 2 views
0

ASP.NET MVC 응용 프로그램 중 하나에서 사용자가 서식있는 텍스트를 입력 할 수 있도록 FCKEditor를 사용하고 있습니다. 컨트롤러 액션에서 유효성 검사를 해제하기 위해 우리는ModelState.IsValid가 false 일 때 "잠재적으로 위험한 Request.Form 값 .."오류가 발생했습니다.

[ValidateInput(false)] 

사용자가 한 페이지에는 비즈니스 유효성 검사 오류가없는 한 서식있는 텍스트를 저장하고 수정할 수있는 속성을 설정합니다.

비즈니스 유효성 검사가 실패하고 ModelState.IsValid가 false로 설정된 경우 페이지 렌더링시 다음 예외가 발생합니다. 누군가이 문제를 해결하는 방법을 알려줄 수 있습니까?

잠재적 위험으로 Request.Form 값은 Programme_Overview이 = "여기

그것은 가능성이 인 FCKEditor에서 일부 HTML 출력이 어떻게 든 제출됩니다있는 코드

[ValidateInput(false)] 
    [AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Schedule(FormCollection formValues) 
    { 
     // some code 
     if (ModelState.IsValid) 
     { 
      //do something here... 
     } 
     else 
     {    
      return View(programDetails); 
     } 


    } 

    //// View code that render the fckeditor text area 
    <%= Html.TextArea("Programme_Overview", Model.Programme.Overview, new { row = 7 })%> 
+0

죄송 있어야 FCK 구성 파일을 업데이트 fckconfig.js

FCKConfig.HtmlEncodeOutput = false; 

하는 것이 었습니다 것은 그가 원래의 게시물하는 int 언급하는 것을 잊었다 . 액션 메소드에서 [ValidateInput (false)]를 설정하고 있습니다. 그러나 여전히이 예외는 ModelState.IsValid가 false 인 경우에만 발생합니다. – Gopinath

답변

0

입니다 (클라이언트에서 검출되었다.

유효성 검사를 해제하려고 할 수 있습니다.

public MyController 
{ 
    [ValidateInput (false)] 
    public ActionResult MyAction() 
    { 
    } 
} 
0

는 그냥 액션에 다음을 추가 :이 프로젝트는 사전 1.0 RTM 프로젝트에서 마이그레이션 된 같은데요

[ValidateInput(false)] 
[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult SomeAction() {} 
+0

[ValidateInput (false)]을 지정한 후에도 ModelState.IsValid가 false로 설정된 경우 예외가 발생합니다. – Gopinath

+0

조치 방법 및 HTML 양식? –

+0

darin, 나는 코드로 질문을 업데이트했다. – Gopinath

0

.

원본 ASP.NET에는 페이지 수준의 "위험한 입력"유효성 검사가 있습니다. Views 폴더의 Web.config 파일이 변경되어 시스템 전체에서 해제되었지만 변경 사항을 정확히 기억하지 못합니다. 프로젝트가이 변경 사항을 선행하는 경우 Views 폴더의 Web.config 파일에 해당 설정이 적용되지 않습니다.

그래서 새로운 MVC 프로젝트를 만들고 Web.config 파일을보고 복사 할 수있는 설정을 확인할 수 있습니다. 원하는 경우 페이지 단위로 비활성화 할 수도 있습니다.

http://www.asp.net/learn/whitepapers/request-validation/

+0

Brad Wilson, MVC 버전이 확실하지 않습니다. 제 PC에서 어떻게 찾을 수 있는지 말해 주시겠습니까? 2 달 전에 Web Installer를 사용하여 MVC를 설치했습니다. 보기 폴더에있는 web.config 파일은 Gopinath

+0

1.0이 설치되어 있고 validatedRequest ="false "라인이 있으므로 유효하지 않은 이유는 분명하지 않습니다."validateRequest = "false" = true "를 실제 페이지의 <%@ Page %> 지시문에 적용). –

1

그냥이 작물을했다, 수정

FCKConfig.HtmlEncodeOutput = true ; 
관련 문제