Package com.altibase.document.util
Class JsonQuerySecurityValidator
java.lang.Object
com.altibase.document.util.JsonQuerySecurityValidator
JSON 쿼리에서 사용되는 경로와 표현식의 안전성을 검증한다.
SQL/JSON 경로에 직접 삽입될 수 있는 공격 문자를 차단하고,
필드 경로는 안전한 식별자 조합만 허용한다.
-
Method Summary
Modifier and TypeMethodDescriptionstatic StringvalidateFieldPath(String aFieldPath) 필드 경로가 안전한 JSON 경로 표현식인지 검증한다.static StringvalidateJsonPathExpression(String aJsonPath) JsonPath 표현식이 SQL 바인딩 및 JSON_EXISTS 실행에 안전한지 검증한다.
-
Method Details
-
validateFieldPath
필드 경로가 안전한 JSON 경로 표현식인지 검증한다. 점(.)으로 구분된 각 세그먼트는 영문자 또는 언더스코어로 시작해야 하며, 영문자, 숫자, 언더스코어만 포함할 수 있다.- Parameters:
aFieldPath- 검증할 필드 경로- Returns:
- 정규화된 필드 경로
-
validateJsonPathExpression
JsonPath 표현식이 SQL 바인딩 및 JSON_EXISTS 실행에 안전한지 검증한다. 작은따옴표, SQL 주석 토큰, 세미콜론 등 우회 문자는 거부하고, 괄호와 따옴표가 올바르게 닫혔는지도 확인한다.- Parameters:
aJsonPath- 검증할 JsonPath 표현식- Returns:
- 정규화된 JsonPath 표현식
-