2013-07-30 3 views
0

자바 기반 웹 응용 프로그램을 만들고 있습니다. 사용자가 다른 사용자에게 표시되는 내용을 입력 할 수 있습니다.사용자가 입력 한 내용을 필터링하기위한 Java 라이브러리?

당연히 보안상의 이유로 XSS 및 기타 공격을 막기 위해 사용자 콘텐츠를 필터링해야합니다.

나는 사용자 콘텐츠 필터링이 많은 논의 주제라는 것을 알고 있습니다. 그래서 많은 게시물을 찾았지만 이론 토론, PHP, 아이디어 등과 관련이 있습니다. 모든 것을 다시 쓰거나 발명하는 것을 피하기 위해 Java 라이브러리가 필요합니다. 나는 밖에 나가야한다고 느낍니다.

사용할 수있는 라이브러리가 있습니까?

아무 정보 주셔서 감사합니다!

+0

[this] (http://code.google.com/p/owasp-java-html-sanitizer/)와 같은 형태는 어떻습니까? –

+0

보리스, 코멘트 대신 답장을 보내 주시겠습니까? 나는 후속 질문을하고 대답으로 그것을 선택하고 싶다. – curious1

+0

중요한 것은 문자열 연결로 서식을 지정하지 않는 것입니다. –

답변

2

XSS를 방지하기 위해 사용자 입력을 보호하려면 OWASPAntiSamy 프로젝트에서이를 수행하기위한 표준 구현을 제공합니다.

이 코드는 owasp-java-html-sanitizer이라는 Google 코드에 더 잘 구현되어 있습니다.이 코드를 사용하면 프로그래밍 방식으로 정책을 정의한 다음 모든 말도 안되는 정책을 통해 의심스러운 HTML을 실행할 수 있습니다. 다른 모든 제거,

PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS); 
String safeHTML = policy.sanitize(untrustedHTML); 

이는 서식 및 용의자 HTML 링크를 허용하는 정책을 만듭니다 : 여기

은 자신의 웹 사이트에서 예입니다.

+0

이 도구는 내 필요를 충족시키는 것 같습니다. 혹시 사용한 적이 있습니까? 어떤 경험을 공유 할 수 있습니까? – curious1

+0

예, 프로덕션 환경에서 사용합니다. 유일한 고통스러운 것은 정책을 결정하는 것입니다. 나는 계속 원했던 것을 찾았지 만 그 정책은 너무 빡빡했기 때문에 벗겨 냈다. (

, 기타 ...). 나는 그들의 예제 [Ebay 정책] (http://code.google.com/p/owasp-java-html-sanitizer/source/browse/trunk/src/main/org/owasp/html/examples/)를 사용하여 막 끝 냈습니다. EbayPolicyExample.java). 일단 당신이 그것을 분류하면 정말 오히려 잘 작동합니다. –

관련 문제