Notice
Recent Posts
Recent Comments
송민준의 개발노트
(Spring) XSS 필터 - jsoup 본문
기존에는 간단하게 아래처럼 필터를 했는데 한계를 느끼고 jsoup를 사용해봤다.
private String replaceParameter(String param) {
String result = param;
if(param != null) {
result = result.replaceAll("<","<");
result = result.replaceAll(">",">");
result = result.replaceAll("[(]","(");
result = result.replaceAll("[)]",")");
}
return result;
}
pom.xml에 추가
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.12.1</version>
</dependency>
https://mvnrepository.com/artifact/org.jsoup/jsoup
service.java
@Override
public void insert_board(Board board) {
board.setBOARD_SUBJECT(xss_clean_check(board.getBOARD_SUBJECT()));
dao.insert_board(board);
}
method => 입력 받은 값을 XSS 공격이 감지되었습니다. 라고 바꿔준다.
private String xss_clean_check(String value) {
String safe_value = Jsoup.clean(value, Whitelist.basic());
if(safe_value.equals("") || safe_value == null) {
safe_value = "XSS 공격이 감지되었습니다.";
}
return safe_value;
}
'웹 > Spring Framework' 카테고리의 다른 글
Spring transactional (0) | 2020.07.15 |
---|---|
Mybatis Cause: java.lang.NumberFormatException: For input string: "Y" 에러 해결방법 (0) | 2020.04.14 |
썸머노트(summernote) 사용하기(스프링, 404에러 해결), XSS관련 (4) | 2020.01.14 |
(spring) recaptcha v2 구현하기 - localhost test (1) | 2020.01.11 |
(Spring) kakao 소셜 로그인(SSO, oauth) (0) | 2020.01.10 |