From 109c4204fd68291b7d1565f55fb1257327da5ea3 Mon Sep 17 00:00:00 2001 From: JSYOO Date: Fri, 3 Dec 2021 10:57:12 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9B=B9=EC=B7=A8=EC=95=BD=EC=A0=90=20?= =?UTF-8?q?=EB=A7=88=EB=AC=B4=EB=A6=AC=20,=20=EC=83=81=EC=84=B8=EA=B2=80?= =?UTF-8?q?=EC=83=89=20=EC=84=9C=EC=A7=80=EC=A0=95=EB=B3=B4=20=EB=82=B4?= =?UTF-8?q?=EB=B3=B4=EB=82=B4=EA=B8=B0=20title=20focus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nlib/sch/web/NlibSearchController.java | 32 ++++++++++++++++--- .../jsp/nlib/collection/searchList.jsp | 2 +- .../search/getDetailedSearchFormPopup.jsp | 8 +++-- src/main/webapp/js/nlib.js | 6 ++-- src/main/webapp/js/search/reference.js | 2 +- src/main/webapp/js/search/util.js | 24 -------------- 6 files changed, 37 insertions(+), 37 deletions(-) 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);