Scott Hanselman의 새로운 VS 2010 기능에 대한 최신 블로그 항목에는 "새로운 < % : %> 인코딩 구문"이 언급되었습니다. 그것은 무엇을합니까? 구글 이러한 태그를 검색하면Visual Studio 2010의 새로운 <%: %> 인코딩 구문은 무엇을합니까?
감사합니다,
아드리안 ... 가능하지 않는 것
Scott Hanselman의 새로운 VS 2010 기능에 대한 최신 블로그 항목에는 "새로운 < % : %> 인코딩 구문"이 언급되었습니다. 그것은 무엇을합니까? 구글 이러한 태그를 검색하면Visual Studio 2010의 새로운 <%: %> 인코딩 구문은 무엇을합니까?
감사합니다,
아드리안 ... 가능하지 않는 것
엔티티가 인코딩 된 HTML을 출력합니다. 이 필 Haack demonstrated로, XSS에 대한 출력을 보호하는 것처럼, 여분의 멋진 물건을 확장 할 수 있습니다, 또한
<%= HttpUtility.HtmlEncode("Some string") %>
에 대한 짧은 손입니다.
나는 그래서 자바 스크립트가 할 수없는, 그 안에 포함 된 텍스트가 소독되는 것을 보장한다 생각 당신이
userdata = alert ("textstring")
<%= userdata %>
이 페이지에서 메시지 박스가 표시됩니다 경우
그래서 페이지에 주입
<%: userdata %>
은 '("textstring") 경고'
그것은 자동으로 HTML 인코딩 동봉 된 표현의 텍스트를 표시합니다.
<%: yourString %>
...에 해당
그래서 ...
<%= HttpUtility.HtmlEncode(yourString) %>
대한 추가 정보를 원하시면 다음의 MSDN 링크를 참조하십시오 :
을.NET 4의 새로운 기능과 향상된 기능에 대해 광범위하게 블로그 한 사실 this Google search는 this explanation of Scott Guthrie에 저를지도한다.
그 목적은 HTML 인코딩을 통한 XSS 공격을 방지하는 것입니다.
이것은 다음 질문으로 이어집니다. Google이 "<%: %>"에 대한 결과를 제공하지 않는 이유가 궁금합니다. 그 문자열은 페이지의 제목과 헤더에 있습니다. –
운이 좋은 수색은, "<%: %>"키워드는 사용되지 않으며, Google는 "asp.net 4 새로운 구문"에 대한 결과를 보여주었습니다. Google은 문장 부호 이스케이프 문자를 지원하지 않으며 이에 대한 해결 방법을 찾지 못했습니다. 죄송합니다. – Prutswonder
확실히 당신 잘못이 아닙니다. 링크 주셔서 감사 :-) –