양식 값에 HTML이 포함되어있을 때 감사 시스템이 작동하지 않습니다.ActionFilterAttribute - 잠재적으로 위험한 Request.Form 값
난 당해 모델 속성에 [AllowHtml]
속성을 추가하고, 컨트롤러 액션 [ValidateInput(false)]
추가뿐만 아니라 HttpRequestBase
에 Unvalidated()
확장 방법을 사용하여 시도 하였다.
아무 것도 오류를 예방하고 있지 않습니다. 이 실패 코드의 라인 (감사 코드에서 유래 ActionFilterAttribute
의 OnActionExecuting()
)입니다 :
return Json.Encode(new { request.Cookies, request.Headers, request.Files, request.Form, request.QueryString, request.Params });
오류 : 타입 'System.Web.HttpRequestValidationException의
첫째 예외 'System.Web.dll에서 발생했습니다
추가 정보 잠재적으로 위험한 Request.Form 값은 클라이언트에서 발견되었습니다 (참고 = "
<p>test</p>
") 입니다.
"참고"는 [AllowHtml]
인 모델 속성입니다.
내가 이것을 막을 수있는 아이디어가 있습니까?
작업의 파이프 라인 순서는 총 의미가, 감사합니다. 내 이슈는이 속성이 컨트롤러에서 다양한 액션 메소드에 적용되므로 특정 속성을 참조 할 수 없다는 것입니다. 나는 request.Form을 request.Unvalidated.Form로 대체하려고 시도했지만 이것은 문제를 해결하지 못하고있다. – Patrick
그런 경우에는 액션 필터 속성에 유효성을 검사하지 않으려는 속성 이름을 지정하는 매개 변수 (아마도'string []')를 가져야합니다. 이 경우, 문자열 배열을 반복하고 'Request.Unvalidated(). Form [propertyName]'과 같은 것을 사용하여 속성을 찾을 수 있습니다. –