2010-08-23 3 views
6

전체 페이지 대신 특정 텍스트 상자에 대한 요청 유효성 검사를 비활성화하는 방법이 있습니까? 사용자가 합법적으로 < 및> 문자를 사용하기 때문에 Server.HtmlEncode/Decode를 사용하고 있습니다. 그러나 누군가가 나중에 텍스트 상자를 추가하고 내가 원하는 경우 입력을 피할 수 있기 때문에 전체 페이지에서 ValidateRequest="false"을 사용하고 싶지 않습니다. html 인젝션에 취약하기보다는 오류가 발견 될 수 있도록 유효성 검사를 수행해야합니다.asp.net ValidateRequest = false 페이지 당 텍스트 상자 당 false?

간단한 해결책이있는 것 같지만 아무런 문제가없는 것 같습니다.

(웹 양식하지 MVC)은

+0

잘 고통스러운 그 -> .NET 4.5 답변을 게시 할 때 4.5 릴리스되지 않았습니다. – Tommy

+0

@ 토미 나도 알아, 내가 질문을했을 때,하지만 더 최신의 답변이며 미래의 사용자가 이것을 읽는 것이 더 유용 할 것이다. 당신은 여전히 ​​upvoted 대답입니다. – Davy8

+0

하하 - 나도 알아 :) 개인적인 것은 없지만, 체크 아웃해야만 했어. 추신 - 내 .NET 5.0 주석 아래에 가까운 것 같습니다. – Tommy

답변

3

없음 요청 검증은 전체 요청 인 소자별로 요소에서 수행 될 수 없다. 요청 유효성 검사는 ASP.NET에서 기본적으로 활성화되어 있으며 스크립트 삽입 공격으로부터 HTML 입력을 삭제하는 것에 대해 잘 모르는 사람들을 돕는 것입니다. 아래에 몇 가지 링크 추가 읽기에 게시 됨 :

MSDN

Stackoverflow

+0

나는 컨트롤 당 그것을 할 수있는 방법이 없다는 것을 믿어지지 않는다. 그들이하는 일을 때때로 아는 사람조차도 때때로 잊어 버릴 수 있으며 대체로 가지고있는 것이 좋습니다. 그러나 어쨌든 나는 +1을 반대로 찾을 수 없었기 때문에 +1했다. 내일까지 아무것도 일어나지 않으면 받아 들일 것입니다. – Davy8

+0

어쩌면 .NET 5.0에 대한 것입니다 : – Tommy

+0

이것은 지원되지 않는다는 말도 안되는 것에 동의하지만, @Tommy가 정확하다는 것을 이해합니다. 현재 ASP.NET에서는 실제로 가능하지 않습니다. – Stuart

관련 문제