모든 문자열에 JSP/Spring MVC
표시 문자열에서 내 JSP 이 방법:
${someString}
이 문자열 수 있습은 물론,특수 html 문자입니다. 현재 그것을 가능하 HTML 악성 코드를 주입하(예를 들어. 는 경우 someString 는 자바스크립트-<script src...>
).
지 확인할 수 있는 방법은 무엇입니까 모든 문자열은 탈출하기 전에 인쇄?
내가 사용하 Spring MVC 및 JSP.
19
3
당신이 사용할 수 있[JSTL core][1]:
사용[
<c:value="${someString}"/>
][2]태그를 표시 문자열입니다.<c:>
탈출 HTML 문자를 피할 수 있도록 교차 사이트 스크립트를 지정할 수 있습을 설정하여 특성escapeXml=true
. 또 다른 장점은 것을 제공할 수도 있습니다 경우 기본값value
truenull
.또한 사용할 수 있습니다
fn:escapeXml()
엘 기능입니다. 을 포함해야 합JSTL functions니다.또 다른 방법이 될 것입니다,사용자가[ELResolver][3].
[이 블로그][4]제공합니 작업의 예는 어떻게 할 수 있습니다.
전체 Spring MVC 용을 지정할 수 있습에서 탈출web.xml:
제어할 수도 있습니다 이 행동에 페이지 수준에서 사용하는
<봄:htmlEscape defaultHtmlEscape="true"/>
에 JSP/Java 를 사용해야 합니다 이 코드:
에 JSP/HTML: