문제

누구나 알고 좋은 lib 할 수 있는 실행하여 문자열기 전에 그들은 삽입할 수 있는 스트립 sql/javascript 코드가?에서 실행할 수 jsp 페이지입니다.

Idealy lib 이 될 것이다:

  • 무료
  • 사용하기 쉽

사전에 감사를 그래서 지역 사회 행복하게 답변:)

도움이 되었습니까?

해결책

Apache Commons Lang Stringescapeutils는 당신에게 몇 가지 길을 얻을 것입니다. 탈출하고 스트립되지 않습니다.

http://commons.apache.org/lang/api/org/apache/commons/lang/stringescapeutils.html

편집 : Escaping은 사용자가 입력 한 데이터가 코드로 실행되지 않지만 항상 사용자에게 데이터로 제시되도록 주입 공격에서 절약 할 수 있습니다.

다른 팁

매개 변수화 쿼리를 사용하기위한 데이터베이스 API 메커니즘에 의존해야합니다. 당신이 첫 번째 SQL 문자열을 동적으로 구축합니다 그 다음에 완성 된 쿼리 문자열을 소독하고 싶다면 잘못하고 있습니다. 그것은 단지 문제를 요구하는 것입니다.


편집 : 질문을 다시 읽은 후, 나는 당신이 요구 한 것을 잘못 이해 한 것 같습니다. 나는 당신의 질문의 SQL 주입 부분에 대해 정확한 초기 의견을지지합니다. 이를 위해서는 실제 쿼리 매개 변수를 원합니다.

JavaScript를 필터링하는 것은 진짜가 있다고 생각하지 않습니다. 기준 아직 그렇게하는 방법. Jeff가 여기에 사용하는 코드를 게시 한 것을 알고 있지만 링크가 없습니다. 내가 찾을 수 있다면 그것을 게시 할 것입니다.

보세요 안티 아미 OWASP에서. 나는 이것이 당신이 찾고있는 것일 수 있다고 생각합니다. 나는 현재 Java에서 일하지 않으므로 그것이 어떻게 작동하는지 말할 수 없습니다.

은 당신이 무엇을 말하는 가능한 모든 항목에 추가되는 문자열을 제거하는 첫째로"악"데이터입니다.그래 그것으로 나는 할 수 없을 것을 말하는 추가로 입력하고 어떤 것의 부분은 쿼리 자체.

Ok 타이 나를 다시 시작해야 할 일부를 변경하는 코드)아직도에 대한 질문에 대한 api 를 추가도)

C:웃 태그는 기본적으로 탈출 XML.이것이 편리할 수 있습니다 저장하기 위해 사용자의 입력으로 바드 가치는 여전히 사용자의 입력이나 출처에서 생성됩니다 브라우저를 사용 탈출합니다.

SQL 주입을 방지하기 위해 준비된 상태를 사용하십시오. 지속성 레이어를 사용하는 경우 준비된 상태를 사용하고 있는지 확인하십시오. 악의적 인 HTML 및 JavaScript와 관련하여 사용하십시오. 이것은 기본적으로 XML 문자를 탈출합니다. FN TLD에있는 JSTL 기능 EscapeXML을 사용할 수도 있습니다.

다만 다른 표현 제안을 다른 사람에 의해 주어진 여기:

OP 을 방지하려고 SQL 및 자바스크립트 injection attacks.

SQL Injection 공격을 방지할 수 있게 하여 쿼리/bind 변수들을 제공하기 위해 사용하는 사용자의 입력 데이터베이스입니다.Java 세계의 사용 PMD (고 PMD 규칙 고) Findbugs (규칙이 내장되어 있으로 Findbugs 기본적으로)를 결정하는 데 도움이 됩 위치에서 당신의 기본 코드에 감염되기 쉬운 SQL injection attacks.OWASP 는 좋은 기사 예방에서 SQL injection Java.

까지 스크립트를 주입에 관한 한,을 방지하기 위해 안전한 방법 공격자 주입에서 스크립트를 실행되도록하는 것이 사용자 입력을 사용할 때의 출력으로,을 사용하여 표시하는 인코딩 형식 웹 애플리케이션을위한,이것은 HTML 인코딩이 있습니다. 이 페이지 OWASP 를 수행하는 방법을 보여줍 HTML 인코딩에서 Java.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top