kccf/src/main/java/egovframework/com/cmm/web/EgovComUtlController.java
ythong 80b5ed1da4 Initial commit - KCCF 문화원연합회 누리집
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 11:38:15 +09:00

93 lines
2.8 KiB
Java

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 org.egovframe.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";
}
}