메인, 상세검색페이지 수정요청 jsp 처리

웹취약점 수정 (진행중)
This commit is contained in:
JSYOO 2021-12-01 15:23:36 +09:00
parent a39076a718
commit c35b2bc0b6
9 changed files with 45 additions and 20 deletions

View File

@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.annotation.Secured;
import org.springframework.security.core.Authentication;
@ -60,7 +61,9 @@ import nlib.util.StringUtil;
public class InterestController extends NlibCommonController
{
private static final Logger log = LoggerFactory.getLogger(InterestController.class);
static final String DEFUALT_PAGE_SIZE = NlibProperty.getProperty("list.paging.page.size");
@Value("#{properties['list.paging.page.size']}")
private String DEFUALT_PAGE_SIZE;
@Resource(name = "interestService")
private InterestService interestService;

View File

@ -17,6 +17,7 @@ import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Controller;
@ -49,7 +50,6 @@ import nlib.util.StringUtil;
public class RisController extends NlibCommonController
{
private static final Logger log = LoggerFactory.getLogger(RisController.class);
static final String DEFUALT_PAGE_SIZE = NlibProperty.getProperty("list.paging.page.size");
@Resource(name = "codeService")
private CodeService codeService;

View File

@ -9,6 +9,8 @@ import java.util.List;
import javax.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
@ -16,6 +18,7 @@ import nlib.cmm.crypto.AriaCrypto;
import nlib.cmm.service.NlibProperty;
import nlib.cmm.service.PagingVO;
import nlib.col.service.CollectionVO;
import nlib.sch.service.impl.NlibSearchServiceImpl;
import nlib.util.StringUtil;
@ -28,9 +31,11 @@ import nlib.util.StringUtil;
*/
public class NlibSearchVO extends PagingVO {
private static final Logger log = LoggerFactory.getLogger(NlibSearchVO.class);
private String query =""; //검색어
private String collection = "lib_total"; //검색 대상 컬렉션 지정
private String listCount = NlibProperty.getProperty("list.paging.page.size"); //컬렉션별 출력 결과수
private String listCount = "10"; //컬렉션별 출력 결과수
private String sort = "DATE"; //결과 정렬 DATE 날짜 내림차, RANK 정확도 내림차
private String startCount = ""; //검색 결과 시작 페이지
private String sfield = ""; //검색 영역
@ -358,7 +363,7 @@ public class NlibSearchVO extends PagingVO {
add(map,"MNG_ORG_CD",URLEncoder.encode(this.mngOrgCd , "UTF-8")); //자료유형 2뎁스까지 나오게 고정
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
log.error("nlibSearchVO 검색엔진파라미터 매핑 > Exception 발생 : " + e.toString());
}
return map;

View File

@ -300,7 +300,6 @@ public class NlibSearchServiceImpl implements NlibSearchService{
searchVO.setTypeCountList(typeMap);
searchVO.setOrgCountList(orgMap);
} catch(Exception e) {
e.printStackTrace();
log.error("getSearch > Exception 발생 : " + e.toString());
}
return searchVO;

View File

@ -24,6 +24,7 @@ import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@ -56,7 +57,9 @@ import nlib.util.StringUtil;
public class NlibSearchController extends NlibCommonController {
private static final Logger log = LoggerFactory.getLogger(NlibSearchController.class);
static final String DEFUALT_PAGE_SIZE = NlibProperty.getProperty("list.paging.page.size");
@Value("#{properties['list.paging.page.size']}")
private String DEFUALT_PAGE_SIZE;
@Resource(name = "cartService")
private CartService cartService;
@ -145,7 +148,7 @@ public class NlibSearchController extends NlibCommonController {
model.addAttribute("pageVO", pageVO);
model.addAttribute("searchVO", searchVO);
}catch(Exception e){
e.printStackTrace();
log.error("searchList.do getSearch > Exception 발생 : " + e.toString());
}
//주제분야 목록 조회
List<Map<String,String>> clsf = codeService.listCtClsfs();
@ -402,7 +405,7 @@ public class NlibSearchController extends NlibCommonController {
}
}
} catch (Exception e) {
System.err.println(e.toString());
log.error("shorturl-data.do 단축url > Exception 발생 : " + e.toString());
}
return returnUrl;
}

View File

@ -524,6 +524,12 @@ public class MemberController extends NlibCommonController{
{
OAuthUniversalUser oauthUser = SessionConfig.getNewMemberInfo(jsessionId);
if(oauthUser == null) {
map.put("msg","이메일 발송에 실패하였습니다. \n장시간 대기로 다시 로그인 하신 후, 이용해 주시기 바랍니다.");
map.put("emailCertYn","N");
return map;
}
NlibLoginVO vo=oauthUser.getNlibVO();
//이미 생성된 VO가 없을때
if(vo == null)

View File

@ -90,7 +90,13 @@ function fn_listPops(typeDivCd) {
</script>
<!-- 섹션1 -->
<section class="sec1">
<div class="skip-nav" style="display:none;">
<a href="#sec1-1">AI추천키워드 바로가기</a>
<a href="#sec3">문화원's Pick 바로가기</a>
<a href="#sec5">인기 자료 바로가기</a>
<a href="#sec6">온라인 자료관 바로가기</a>
</div>
<section id="sec1" class="sec1">
<h2 class="blind">배너 섹션영역</h2>
<div class="inner">
<div class="banner">
@ -149,7 +155,7 @@ function fn_listPops(typeDivCd) {
</div>
</div>
<div class="color-box">
<div id="sec1-1" class="color-box">
<button class="list">
<a href="javascript:void(0);" onclick="location.href = '/inform/selectNCultureOperationInfo.do';" title="이용안내">
<div class="title">이용안내</div>
@ -184,7 +190,7 @@ function fn_listPops(typeDivCd) {
<!-- 섹션2 -->
<c:if test="${fn:length(listKeywords) > 0 }">
<section class="sec2">
<section id="sec2" class="sec2">
<h2 class="blind">키워드 섹션영역</h2>
<div class="inner">
<div class="keyword-box">
@ -203,7 +209,7 @@ function fn_listPops(typeDivCd) {
<!-- 섹션3 -->
<c:if test="${fn:length(listOrgPicks) > 0 }">
<section class="sec3">
<section id="sec3" class="sec3">
<h2 class="blind">문화원픽 섹션영역</h2>
<div class="inner">
<div class="pick-box">
@ -241,7 +247,7 @@ function fn_listPops(typeDivCd) {
</c:if>
<!-- 섹션4 -->
<section class="sec4">
<section id="sec4" class="sec4">
<h2 class="blind">중간배너 섹션영역</h2>
<div class="inner">
<div class="middle-banner">
@ -253,7 +259,7 @@ function fn_listPops(typeDivCd) {
<!-- 섹션5 -->
<c:if test="${fn:length(listPops) > 0 }">
<section class="sec5">
<section id="sec5" class="sec5">
<h2 class="blind">인기자료 섹션영역</h2>
<div class="inner">
<h3 class="title"><span>인기</span> 자료</h3>
@ -290,7 +296,7 @@ function fn_listPops(typeDivCd) {
<!-- 섹션6 -->
<c:if test="${fn:length(listOnline) > 0 }">
<section class="sec6">
<section id="sec6" class="sec6">
<h2 class="blind">온라인자료관 섹션영역</h2>
<div class="inner">
<h3 class="title"><span>온라인</span> 자료관</h3>
@ -334,7 +340,7 @@ function fn_listPops(typeDivCd) {
</c:if>
<!-- 섹션7 -->
<section class="sec7">
<section id="sec7" class="sec7">
<h2 class="blind">커뮤니티 섹션영역</h2>
<div class="inner">
<div class="Fl notice">

View File

@ -100,7 +100,7 @@ $(document).ready(function() {
depth1 = $(this).parents('.depth2').siblings('.depth1-check').find('label').text();
depth2 = $("label[for='"+$(this).attr('id')+"']").text();
html = "<li><button type=\"button\" onclick=\"function('');\" title=\"삭제\" name=\""+ $(this).attr('id') +"\">" + depth1 + "<span class=\"sign\"> > </span><span class=\"del\">삭제</span>"+ depth2 +"</button></li>"
html = "<li><button type=\"button\" onclick=\"function('');\" title=\"삭제\" name=\""+ $(this).attr('id') +"\">" + depth1 + "<span class=\"sign\"> > </span><button class=\"del\">삭제</button>"+ depth2 +"</button></li>"
$(this).parents('.depth2').siblings('.depth1-check').find('input').prop('checked', true);
$(this).parents('.conditions-box').siblings('.selected-conditions').find('.conditions').append(html);

View File

@ -204,14 +204,17 @@ function gfn_showRis(risId){
html+=' <button type="button" class="btn btn-color" id="risExport" onclick="gfn_downloadRis(\''+risId+'\');">내보내기</button>';
html+=' <button type="submit" class="btn btn-gray" onclick="gfn_closeRis();">닫기</button>';
html+=' </div>';
html+=' <button type="button" class="serge-close" onclick="gfn_closeRis();"></button>';
html+=' <button type="button" id="tttete" class="serge-close" onclick="gfn_closeRis();"></button>';
html+='</div>';
html+='<div class="Bg"></div>';
html+='</div>';
$("#export-data").append(html);
gfn_focus("risExport");
}
function gfn_focus(obj){
$("#"+obj).focus();
}
function gfn_downloadRis(risId){
$("#risId").val(risId);
@ -219,7 +222,7 @@ function gfn_downloadRis(risId){
document.risDownloadForm.submit();
}
function gfn_closeRis(){
function gfn_closeRis(risDownloadForm){
$("#export-data").remove();
}