더블 서브밋 방지기능 관련 질문입니다.
- 작성자 :
- 이*오
- 작성일 :
- 2021-08-17 14:33:47
- 조회수 :
- 3,662
- 구분 :
- 개발환경 / 3.7
- 진행상태 :
- 완료
Q
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:com:v3:cmm:doublesubmit
페이지를 통해 중복서브밋 방지기능을 적용했습니다.
현재 게시판 중복 등록 방지는 완료했고,
댓글 중복 등록을 막으려고 하는 상황인데요.
댓글의 경우 최초 등록 시
EgovDoubleSubmitHelper 에서 map.get(tokenKey) 키값과 parameter 값이 서로 달라
최초1회 등록 조차 안되고 있는 상황입니다.
다음과 같이 서로 다른 token key로 지정해서 사용 중입니다.
<double-submit:preventer tokenKey="bbsKey"/> // 게시판 등록시 key
<double-submit:preventer tokenKey="commentKey"/> // 댓글 등록시 key
현재 게시글 상세보기 페이지에서
댓글 조회,등록,수정,삭제 4가지 기능 모두 ajax로 비동기 호출 하고 있습니다.
운영환경 웹 취약점 조치 사항으로 반영을 해줘야 하는데
다른 방안이 혹시 있을까 여쭤봅니다.
감사합니다.
====================== 자문자답
true , false 어떤값이 떨어지는지 눈으로 확인하기위해
log.debug("double submit check @@@@@@@@@@@@" );
log.debug(EgovDoubleSubmitHelper.checkAndSaveTokenMulti(request,"commentKey"));
log.debug(EgovDoubleSubmitHelper.checkAndSaveTokenMulti(request,"commentKey"));
log.debug(EgovDoubleSubmitHelper.checkAndSaveTokenMulti(request,"commentKey"));
log.debug("double submit check end @@@@@@@@@@@@" );
이런식으로 로그를 찍어놨는데
최초 debug 값이 true가 떨어지고 그 이후로 false가 떨어지네요..
log 찍은 부분 제거 하니 잘 해결됐습니다.
페이지를 통해 중복서브밋 방지기능을 적용했습니다.
현재 게시판 중복 등록 방지는 완료했고,
댓글 중복 등록을 막으려고 하는 상황인데요.
댓글의 경우 최초 등록 시
EgovDoubleSubmitHelper 에서 map.get(tokenKey) 키값과 parameter 값이 서로 달라
최초1회 등록 조차 안되고 있는 상황입니다.
다음과 같이 서로 다른 token key로 지정해서 사용 중입니다.
<double-submit:preventer tokenKey="bbsKey"/> // 게시판 등록시 key
<double-submit:preventer tokenKey="commentKey"/> // 댓글 등록시 key
현재 게시글 상세보기 페이지에서
댓글 조회,등록,수정,삭제 4가지 기능 모두 ajax로 비동기 호출 하고 있습니다.
운영환경 웹 취약점 조치 사항으로 반영을 해줘야 하는데
다른 방안이 혹시 있을까 여쭤봅니다.
감사합니다.
====================== 자문자답
true , false 어떤값이 떨어지는지 눈으로 확인하기위해
log.debug("double submit check @@@@@@@@@@@@" );
log.debug(EgovDoubleSubmitHelper.checkAndSaveTokenMulti(request,"commentKey"));
log.debug(EgovDoubleSubmitHelper.checkAndSaveTokenMulti(request,"commentKey"));
log.debug(EgovDoubleSubmitHelper.checkAndSaveTokenMulti(request,"commentKey"));
log.debug("double submit check end @@@@@@@@@@@@" );
이런식으로 로그를 찍어놨는데
최초 debug 값이 true가 떨어지고 그 이후로 false가 떨어지네요..
log 찍은 부분 제거 하니 잘 해결됐습니다.
환경정보
-
- OS 정보 : window
- 표준프레임워크 버전 : 3.7
- JDK(JRE) 정보 : 1.8
- WAS 정보 : tomcat
- DB 정보 : mariadb
- 기타 환경 정보 : 개발환경, 운영환경 동일
A
안녕하세요.
표준프레임워크센터입니다.
답변드리기 전에 답을 찾으셨다니 다행입니다.
EgovDoubleSubmitHelper 클래스에서 중복입력 방지를 위해
토큰키를 검증 후 새로운 키를 발급하고 있어서
문의하신 결과가 나온것 같습니다.
감사합니다.
표준프레임워크센터입니다.
답변드리기 전에 답을 찾으셨다니 다행입니다.
EgovDoubleSubmitHelper 클래스에서 중복입력 방지를 위해
토큰키를 검증 후 새로운 키를 발급하고 있어서
문의하신 결과가 나온것 같습니다.
감사합니다.