2010-04-16 5 views

답변

8

엔티티가 인코딩 된 HTML을 출력합니다. 이 필 Haack demonstrated로, XSS에 대한 출력을 보호하는 것처럼, 여분의 멋진 물건을 확장 할 수 있습니다, 또한

<%= HttpUtility.HtmlEncode("Some string") %> 

에 대한 짧은 손입니다.

Phil Haack, Scott GuthrieScott Hanselman

1

나는 그래서 자바 스크립트가 할 수없는, 그 안에 포함 된 텍스트가 소독되는 것을 보장한다 생각 당신이

userdata = alert ("textstring") 

<%= userdata %> 

이 페이지에서 메시지 박스가 표시됩니다 경우

그래서 페이지에 주입

<%: userdata %> 

은 '("textstring") 경고'

4

그것은 자동으로 HTML 인코딩 동봉 된 표현의 텍스트를 표시합니다.

<%: yourString %> 

...에 해당

그래서 ...

<%= HttpUtility.HtmlEncode(yourString) %> 

대한 추가 정보를 원하시면 다음의 MSDN 링크를 참조하십시오 :

1

.NET 4의 새로운 기능과 향상된 기능에 대해 광범위하게 블로그 한 사실 this Google searchthis explanation of Scott Guthrie에 저를지도한다.

+0

이것은 다음 질문으로 이어집니다. Google이 "<%: %>"에 대한 결과를 제공하지 않는 이유가 궁금합니다. 그 문자열은 페이지의 제목과 헤더에 있습니다. –

+0

운이 좋은 수색은, "<%: %>"키워드는 사용되지 않으며, Google는 "asp.net 4 새로운 구문"에 대한 결과를 보여주었습니다. Google은 문장 부호 이스케이프 문자를 지원하지 않으며 이에 대한 해결 방법을 찾지 못했습니다. 죄송합니다. – Prutswonder

+0

확실히 당신 잘못이 아닙니다. 링크 주셔서 감사 :-) –

0

그 목적은 HTML 인코딩을 통한 XSS 공격을 방지하는 것입니다.