티스토리 뷰
간단하게 테스트로 해보려고 했다
owasp-java-htm-sanitizer-20260313.1.jar 를 다운받아서 해봤는데 아래와 같은 에러가 났다.
NoClassDefFoundError: org/owasp/shim/Java8Shim
그래서 검색을 해봤더니, 안정적인 owasp-java-htm-sanitizer-20220608.1.jar 를 받아서 해보라는 거였다. 했는데 안됬다. 제미나이에서 검색을 해봤더니, guava도 받아야 된다고 한다. 그래서 guava-33.6.0.-jre.jar를 다운받았다.
그 2개를 lib에 넣고 해봤더니 잘 되었다.
네, JAR 파일로 제공됩니다. Maven Central 중앙 저장소에서 독립된 .jar 파일들을 직접 다운로드하여 사용할 수 있습니다.
폐쇄망 환경이나 수동으로 외부 라이브러리를 추가해야 하는 경우, 다음 핵심 JAR 파일들을 준비하시면 됩니다.
1. 필수 다운로드 JAR 목록
OWASP Java HTML Sanitizer를 작동시키려면 기본 라이브러리 JAR 1개와 의존성(Dependency) JAR 2개, 총 3개의 JAR 파일이 필요합니다.
분류Artifact Name권장 버전설명
| 메인 라이브러리 | java-html-sanitizer | 20240325.1 (또는 최신) | OWASP HTML Sanitizer Core |
| 의존성 1 | guava | 33.x.x 이상 | Google Core Libraries for Java |
| 의존성 2 | jsr305 | 3.0.2 | Nullability Annotation 관련 라이브러리 |
2. JAR 파일 직접 다운로드 방법 (Maven Central)
Maven이나 Gradle 같은 빌드 도구를 사용할 수 없는 환경이라면, Maven Central Repository에서 직접 검색하여 .jar 파일만 다운로드받을 수 있습니다.
- java-html-sanitizer JAR:
- Maven Central URL: [https://mvnrepository.com/artifact/com.googlecode.owasp-java-html-sanitizer/java-html-sanitizer](https://mvnrepository.com/artifact/com.googlecode.owasp-java-html-sanitizer/java-html-sanitizer)
- 원하는 버전을 클릭한 후 Files 항목의 jar를 클릭하여 다운로드합니다.
- 의존성 JAR (guava, jsr305):
- 프로젝트 내에 이미 Guava 라이브러리가 포함되어 있다면 추가로 받지 않으셔도 됩니다.
- 없는 경우 동일하게 MVNRepository에서 guava 및 jsr305를 검색하여 .jar 파일로 받으시면 됩니다.
3. Java 프로젝트 적용 및 간단 사용 예시
다운로드한 JAR 파일들을 프로젝트의 /WEB-INF/lib/ 경로에 추가(Build Path 등록)한 뒤 다음과 같이 사용할 수 있습니다.
Java
import org.owasp.html.HtmlPolicyBuilder;
import org.owasp.html.PolicyFactory;
public class SanitizerExample {
public static void main(String[] args) {
// 1. 허용할 HTML 태그 및 속성 정의 (예: b, i, a 태그만 허용)
PolicyFactory policy = new HtmlPolicyBuilder()
.allowElements("b", "i", "a")
.allowUrlProtocols("http", "https")
.allowAttributes("href").onElements("a")
.toFactory();
// 2. 위험한 입력값
String untrustedHtml = "<script>alert('XSS')</script> <b>안녕하세요</b> <a href='javascript:evil()'>링크</a>";
// 3. Sanitizer 적용
String sanitizedHtml = policy.sanitize(untrustedHtml);
// 출력 결과: <b>안녕하세요</b> <a>링크</a> (<script> 및 javascript: 스킴 제거됨)
System.out.println(sanitizedHtml);
}
}
폐쇄망 환경에서 Maven 종속성(JAR)을 한 번에 패키징해서 다운로드하는 방법이 궁금하신가요?
예
'자바(Java)' 카테고리의 다른 글
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- xe addon
- C언어
- XE
- 자바 smtp
- 이클립스
- ocajp
- 포인터
- 프로씨
- Python
- 스크래핑
- JDBC
- 라이믹스
- 플러터
- webix
- proc
- 라이믹스 입력폼
- 인포믹스
- 자바
- XE3
- KG
- 오라클
- EC
- ocjap
- xe애드온
- php
- 파이썬
- esql
- C
- 문자열
- 파싱
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
글 보관함

