JSTL에서 Java 함수 호출하기
2021. 3. 24. 22:18ㆍ프로그래밍 언어/Web Programming
'
보통 Java단에서 XSS 조치를 하는 편인데 이번에 JSTL에서 XSS 조치할 일이 생겼습니다.
TLD로 설정해서 호출하는 방법을 사용할 수도 있지만
몇 개 안 되는 화면이라서 Java에 있는 static 메소드를 직접 호출하여 처리하는 방법을 택하였습니다.
선언부
먼저 JSTL core tag와 호출할 자바클래스를 import합니다.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="com.test.CommonUtil" %>
기존 소스
기존에 JSTL에서 data.content를 받아서 출력하는데 XSS 취약점이 있어서 조치를 해야 하는데
CommonUtil.cleanXSS() 함수를 호출하여 조치할 수 있는 상황입니다.
<textarea id="content" name="content" style="width:100%">${data.content}</textarea>
Java 함수 호출
data.content 값을 content 라는 변수에 새로 할당하고 CommonUtil.cleanXSS() 처리 결과를 content 에 저장합니다.
그리고 content 를 출력하면 됩니다.
<c:set var="content" value="${data.content}" />
<%
String content = (String) pageContext.getAttribute("content");
content = CommonUtil.cleanXSS(content);
pageContext.setAttribute("content", content);
%>
<textarea id="content" name="content" style="width:100%">${content}</textarea>
반응형
'프로그래밍 언어 > Web Programming' 카테고리의 다른 글
네이버 스마트에디터 툴바 비활성화, 사용여부 설정 (0) | 2021.04.02 |
---|