
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
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<String> 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";
}
}