Merge branch 'rosewiper'
This commit is contained in:
commit
b6bb4f694c
@ -43,7 +43,7 @@ public class KakaoStepInfoController {
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Method Name : selectKaKaoStepInfo
|
||||
* @Project : mjon
|
||||
@ -122,6 +122,25 @@ public class KakaoStepInfoController {
|
||||
searchVO.setBbsId(boardVO.getBbsId());
|
||||
BoardMasterVO bbsMasterInfo = bbsAttrbService.selectBBSMasterInf(searchVO);
|
||||
|
||||
/**
|
||||
* FAQ 타이틀 및 내용에 대한 XSS 변환 태그 원복
|
||||
* faqUnscript() 를 이용하여 디비에 변환 태그로 되어있는 코드를 다시 원복 시킴
|
||||
* ret.replaceAll("<", "<").replaceAll(">", ">");
|
||||
*
|
||||
* */
|
||||
for(int i=0; i<resultList.size(); i++) {
|
||||
|
||||
String nttSj = resultList.get(i).getNttSj();
|
||||
String nttCn = resultList.get(i).getNttCn();
|
||||
|
||||
nttSj = faqUnscript(nttSj);
|
||||
nttCn = faqUnscript(nttCn);
|
||||
|
||||
resultList.get(i).setNttSj(nttSj);
|
||||
resultList.get(i).setNttCn(nttCn);
|
||||
|
||||
}
|
||||
|
||||
model.addAttribute("bbsMasterInfo", bbsMasterInfo);
|
||||
model.addAttribute("resultList", resultList);
|
||||
model.addAttribute("resultCnt", map.get("resultCnt"));
|
||||
@ -146,4 +165,51 @@ public class KakaoStepInfoController {
|
||||
|
||||
return "/web/kakao/intrd/KakaoAllimtalkIntro";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* XSS 방지 처리.
|
||||
*
|
||||
* @param data
|
||||
* @return
|
||||
*/
|
||||
protected String faqUnscript(String data) {
|
||||
if (data == null || data.trim().equals("")) {
|
||||
return "";
|
||||
}
|
||||
|
||||
String ret = data;
|
||||
|
||||
ret = ret.replaceAll("<(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "<script");
|
||||
ret = ret.replaceAll("</(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "</script");
|
||||
|
||||
ret = ret.replaceAll("<(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "<object");
|
||||
ret = ret.replaceAll("</(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "</object");
|
||||
|
||||
ret = ret.replaceAll("<(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "<applet");
|
||||
ret = ret.replaceAll("</(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "</applet");
|
||||
|
||||
ret = ret.replaceAll("<(E|e)(M|m)(B|b)(E|e)(D|d)", "<embed");
|
||||
ret = ret.replaceAll("</(E|e)(M|m)(B|b)(E|e)(D|d)", "<embed");
|
||||
|
||||
ret = ret.replaceAll("<(F|f)(O|o)(R|r)(M|m)", "<form");
|
||||
ret = ret.replaceAll("</(F|f)(O|o)(R|r)(M|m)", "<form");
|
||||
|
||||
//ret = ret.replaceAll("<", "<");
|
||||
//ret = ret.replaceAll(">", ">");
|
||||
ret = ret.replaceAll("alert", "");
|
||||
ret = ret.replaceAll("iframe", "");
|
||||
|
||||
ret = ret.replaceAll("<", "<").replaceAll(">", ">");
|
||||
ret = ret.replaceAll("(", "\\(").replaceAll(")", "\\)");
|
||||
ret = ret.replaceAll("'", "'");
|
||||
ret = ret.replaceAll("eval\\((.*)\\)", "");
|
||||
ret = ret.replaceAll("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']", "\"\"");
|
||||
ret = ret.replaceAll("script", "");
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user