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 @@ 상세 검색
-
- 상세 검색 +
+ 상세 검색 검색어와, 검색조건들을 통해서 더 정확한 정보를 찾아보세요. 닫기
-
+ +
상세검색 입력폼 diff --git a/src/main/webapp/js/nlib.js b/src/main/webapp/js/nlib.js index cc4a337c..c3b0e922 100644 --- a/src/main/webapp/js/nlib.js +++ b/src/main/webapp/js/nlib.js @@ -175,7 +175,7 @@ function gfn_showRis(risId){ var html=""; html+='
'; html+='
'; - html+='

서지정보 내보내기(Export)

'; + html+='

서지정보 내보내기(Export)

'; html+='
'; html+='
'; html+='
'; @@ -209,10 +209,10 @@ function gfn_showRis(risId){ html+='
'; $("#export-data").append(html); - gfn_focus("risExport"); + gfn_focus("risTitle"); } function gfn_focus(obj){ - $("#"+obj).focus(); + $("#"+obj).attr("tabindex", -1).focus(); } function gfn_downloadRis(risId){ diff --git a/src/main/webapp/js/search/reference.js b/src/main/webapp/js/search/reference.js index 781447b9..841c7428 100644 --- a/src/main/webapp/js/search/reference.js +++ b/src/main/webapp/js/search/reference.js @@ -415,7 +415,7 @@ function fnLabel_reference_detail(){ } } function fnFilterSch(){ - document.referencelistForm.action="/search/searchList.do"; + document.referencelistForm.action="/search/searchListCondition.do"; document.referencelistForm.submit(); } diff --git a/src/main/webapp/js/search/util.js b/src/main/webapp/js/search/util.js index 50474d86..db1e0e57 100644 --- a/src/main/webapp/js/search/util.js +++ b/src/main/webapp/js/search/util.js @@ -44,11 +44,6 @@ util = (function( w, $ ) { } return url.replace( w.location.protocol + '//' + w.location.host, '' ); } - function downloadFile(form, atchFileId, fileSn) { - var varForm = document.forms[form]; - varForm.action = '/cmm/downloadFile.do?atchFileId='+ atchFileId +'&fileSn='+ fileSn; - varForm.submit(); - } function updateFile(obj) { $(obj).parent().parent().find("input").eq(0).val('U'); } @@ -195,25 +190,6 @@ util = (function( w, $ ) { function isWindowSmall() { return $(window).width() <= 768; } - function risDownloadFile(aId, mId, formName) { - if (typeof(formName) == 'undefined') formName = 'risDownloadForm' // [include_cmm_popup.jsp] 파일에 선언 - - var varForm = document.forms[formName]; - if (typeof(varForm.aId) != 'undefined') { - varForm.action = '/cmm/risDownloadFile.do'; - varForm.aId.value = aId; - varForm.mId.value = mId; - } else { - varForm.action = '/cmm/risDownloadFile.do?aId='+aId+'&mId'+mId; - } - - if ( $.cookie('KCCF_E_POP') == 'Y' ){ - varForm.submit(); - }else{ - $('#export-data').show(); - } - - } function assetImgUrl(filePath, amsAssetsPath, amsThumbnailPath) { var linkUrl = amsAssetsPath + amsThumbnailPath; var stringVal = util.isNull(filePath);