XSS를 막기 위한 방법 중 JSTL Taglib을 사용하는 방법은 다음과 같다.
JSP에서 JSTL Core를 사용하기 위한 선언을 한다.
그리고 HTML Entity로 치환이 되어야할 부분에 대해 escapeXml 속성을 true로 부여한다.
<% String greeting = "<b>hello, world!</b>"; request.setAttribute("greeting", greeting); %> <h2>escapeXml false</h2> <c:out escapeXml="false" value="${greeting}" /> <h2>escapeXml true</h2> <c:out escapeXml="true" value="${greeting}" /> <h2>default</h2> <c:out value="${greeting}" /> |
실제로는 escapeXml 속성의 default가 true라 지정하지 않아도 된다.
결과는 다음과 같다.