package egovframework.com.cmm.web; import java.util.List; import javax.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import egovframework.com.cmm.EgovWebUtil; import egovframework.rte.fdl.property.EgovPropertyService; /** * @Class Name : EgovComUtlController.java * @Description : 공통유틸리티성 작업을 위한 Controller * @Modification Information * @ * @ 수정일 수정자 수정내용 * @ ---------- -------- --------------------------- * 2009.03.02 조재영 최초 생성 * 2011.10.07 이기하 .action -> .do로 변경하면서 동일 매핑이 되어 삭제처리 * 2015.11.12 김연호 한국인터넷진흥원 웹 취약점 개선 * 2019.04.25 신용호 moveToPage() 화이트리스트 처리 * * @author 공통서비스 개발팀 조재영 * @since 2009.03.02 * @version 1.0 * @see * */ @Controller public class EgovComUtlController { //@Resource(name = "egovUserManageService") //private EgovUserManageService egovUserManageService; private static final Logger LOGGER = LoggerFactory.getLogger(EgovComUtlController.class); @Resource(name = "egovPageLinkWhitelist") protected List egovWhitelist; /** EgovPropertyService */ @Resource(name = "propertiesService") protected EgovPropertyService propertiesService; /** * JSP 호출작업만 처리하는 공통 함수 */ @RequestMapping(value="/EgovPageLink.do") public String moveToPage(@RequestParam("link") String linkPage){ String link = linkPage; link = link.replace(";", ""); link = link.replace(".", ""); // service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함 if (linkPage==null || linkPage.equals("")){ link="egovframework/com/cmm/egovError"; } // 화이트 리스트 처리 // whitelist목록에 있는 경우 결과가 true, 결과가 false인경우 FAIL처리 if (egovWhitelist.contains(linkPage) == false) { LOGGER.debug("Page Link WhiteList Error! Please check whitelist!"); link="egovframework/com/cmm/egovError"; } // 안전한 경로 문자열로 조치 link = EgovWebUtil.filePathBlackList(link); return link; } /** * 모달조회 * @return String * @exception Exception */ @RequestMapping(value="/EgovModal.do") public String selectUtlJsonInquire() throws Exception { return "egovframework/com/cmm/EgovModal"; } /** * validato rule dynamic Javascript */ @RequestMapping("/validator.do") public String validate(){ return "egovframework/com/cmm/validator"; } }