diff --git a/src/main/java/nlib/sch/web/NlibSearchController.java b/src/main/java/nlib/sch/web/NlibSearchController.java
index 232a804d..a0fadd97 100644
--- a/src/main/java/nlib/sch/web/NlibSearchController.java
+++ b/src/main/java/nlib/sch/web/NlibSearchController.java
@@ -90,17 +90,35 @@ public class NlibSearchController extends NlibCommonController {
* @param req
* @return
*/
- @RequestMapping(value = "/search/searchList.do")
+ @RequestMapping(value = {"/search/searchList.do", "/search/searchListCondition.do"} )
public String searchList(
HttpServletRequest req
, Authentication authentication
, ModelMap model
, @ModelAttribute("searchVO") NlibSearchVO searchVO
, HttpServletRequest request
- , HttpServletResponse res) throws Exception {
+ , HttpServletResponse res
+ , String csrfToken) throws Exception {
HttpSession session = request.getSession();
String councilCd = (String)session.getAttribute("councilCd");
+ boolean fromMenu = request.getServletPath().contains("/search/searchList.do");
+
+ if(fromMenu) {
+ String sfield = searchVO.getSfield();
+ String query = searchVO.getQuery();
+ searchVO = new NlibSearchVO();
+ searchVO.setSfield(sfield);
+ searchVO.setQuery(query);
+ }
+
+ if(!fromMenu && !isValidCsrfToken(request, csrfToken))
+ {
+ model.addAttribute("msg", "잘못된 접근입니다.");
+ model.addAttribute("url","/");
+ return "nlib/cmm/alert";
+ }
+
//검색엔진파라미터로 문화원코드
searchVO.setMngOrgCd(councilCd);
@@ -207,6 +225,10 @@ public class NlibSearchController extends NlibCommonController {
}
secondClassList.get(i).put("cnt", Integer.toString(count));
}
+ // CSRF 토큰 생성 (2021.12.02 KKN 추가)
+ String token = generateCsrfToken(request);
+ model.addAttribute("csrfToken", token);
+
// 반환 정보
model.addAttribute("pageSizeCodes", pageSizeCodes);
//주제분야
@@ -355,8 +377,6 @@ public class NlibSearchController extends NlibCommonController {
// CSRF 토큰 생성 (2021.12.02 KKN 추가)
String token = generateCsrfToken(request);
model.addAttribute("csrfToken", token);
- log.debug("searchItemDetail > token=" + token);
- log.debug("searchItemDetail > session token=" + session.getAttribute(SESSION_CSRF_TOKEN_NAME));
model.addAttribute("imageType",imageType);
model.addAttribute("imagePath",imagePath);
@@ -453,7 +473,9 @@ public class NlibSearchController extends NlibCommonController {
model.addAttribute("firstClassList", codeService.listCodes(Constant.CODE_ID_MASTER_TYPE_DIV_CD));
model.addAttribute("secondClassList", codeService.listCodes(Constant.CODE_ID_DTLS_TYPE_DIV_CD));
-
+ // CSRF 토큰 생성 (2021.12.02 KKN 추가)
+ String token = generateCsrfToken(request);
+ model.addAttribute("csrfToken", token);
return "nlib/search/getDetailedSearchFormPopup";
}
diff --git a/src/main/webapp/WEB-INF/jsp/nlib/collection/searchList.jsp b/src/main/webapp/WEB-INF/jsp/nlib/collection/searchList.jsp
index 219b4ab6..5722628f 100644
--- a/src/main/webapp/WEB-INF/jsp/nlib/collection/searchList.jsp
+++ b/src/main/webapp/WEB-INF/jsp/nlib/collection/searchList.jsp
@@ -220,7 +220,7 @@ function fn_search_article(pageIndex) {
-
+
diff --git a/src/main/webapp/WEB-INF/jsp/nlib/search/getDetailedSearchFormPopup.jsp b/src/main/webapp/WEB-INF/jsp/nlib/search/getDetailedSearchFormPopup.jsp
index 9d34f06b..c6f311bc 100644
--- a/src/main/webapp/WEB-INF/jsp/nlib/search/getDetailedSearchFormPopup.jsp
+++ b/src/main/webapp/WEB-INF/jsp/nlib/search/getDetailedSearchFormPopup.jsp
@@ -33,6 +33,7 @@