* View 화면 단에서 글 저장 시 HTML 코드 치환
1. ( .jsp) - ajax 로 Controller -> Service -> Dao -> DB 저장 시
넘겨야할 대상 Title / Content 등 내용에 HTML code를 통한 보안 Issue 처리
function escapeHtml(str) {
if (str == null) {
return "";
}else{
return str
.replace(/&/gi, "&")
.replace(/;/gi, ";")
.replace(/</gi, "<")
.replace(/>/gi, ">")
.replace(/ /gi, " ")
.replace(/\n/gi, "<br>")
.replace(/\"/gi, """)
.replace(/\'/gi, "'")
.replace(/#/gi, "#")
;
}
}
2. HTML code 치환되어 DB에 저장된 내용 다시 역치환하여 보여주기.
function unescapeHtml(str) {
if (str == null) {
return "";
}else{
return str
.replace(/&/gi, "&")
.replace(/;/gi, ";")
.replace(/</gi, "<")
.replace(/>/gi, ">")
.replace(/ /gi, " ")
.replace(/<br>/gi, "\n")
.replace(/"/gi, "\"")
.replace(/'/gi, "\'")
.replace(/#/gi, "#")
;
}
}
* Server 단에서 입력받을 시 HTML code 치환하는 코드
(Util.java 에 공용으로 사용할 function 정의 후 serviceImpl.java
에서 해당 내용 치환)
ex> vo.setTitle(Util.htmlToText(vo.getTitle()));
public static String htmlToText(String input) {
String ret = null;
ret = input.replaceAll("&", "&")
.replaceAll(";", ";")
.replaceAll(">", ">")
.replaceAll("<", "<")
.replaceAll(" ", " ")
.replaceAll("\n", "<br>")
.replaceAll("'", "'")
.replaceAll("\"", """)
.replaceAll("#", "#");
return ret;
}
'IT > Spring MVC' 카테고리의 다른 글
pom.xml 공부 해보자!! (완료) (0) | 2021.05.10 |
---|---|
service logic void 함수 if문에서 throw new Exception 안될 시 대안법 (0) | 2021.01.08 |
Eclpise 내 Tomcat 서버 사용 시 debugging port 설정 (0) | 2020.12.03 |