다음을 통해 공유


SQLiteDatabase.SqliteMaxLikePatternLength 필드

정의

LIKE 또는 GLOB 패턴의 최대 길이 SQLite의 기본 LIKE 및 GLOB 구현에 사용되는 패턴 일치 알고리즘은 특정 병리학 사례에 대해 O(N^2) 성능(여기서 N은 패턴의 문자 수임)을 나타낼 수 있습니다.

[Android.Runtime.Register("SQLITE_MAX_LIKE_PATTERN_LENGTH")]
public const int SqliteMaxLikePatternLength = 50000;
[<Android.Runtime.Register("SQLITE_MAX_LIKE_PATTERN_LENGTH")>]
val mutable SqliteMaxLikePatternLength : int

필드 값

Value = 50000
특성

설명

LIKE 또는 GLOB 패턴의 최대 길이 SQLite의 기본 LIKE 및 GLOB 구현에 사용되는 패턴 일치 알고리즘은 특정 병리학 사례에 대해 O(N^2) 성능(여기서 N은 패턴의 문자 수임)을 나타낼 수 있습니다. 서비스 거부 공격을 방지하기 위해 LIKE 또는 GLOB 패턴의 길이는 SQLITE_MAX_LIKE_PATTERN_LENGTH 바이트로 제한됩니다. 이 제한의 기본값은 50000입니다. 최신 워크스테이션은 병적 LIKE 또는 GLOB 패턴 50000바이트를 비교적 빠르게 평가할 수 있습니다. 서비스 거부 문제는 패턴 길이가 수백만 바이트에 들어갈 때만 발생합니다. 그럼에도 불구하고 가장 유용한 LIKE 또는 GLOB 패턴은 최대 수십 바이트이므로 신중한 애플리케이션 개발자는 외부 사용자가 임의 패턴을 생성할 수 있다는 것을 알고 있는 경우 이 매개 변수를 수백 개의 범위로 줄일 수 있습니다.

에 대한 android.database.sqlite.SQLiteDatabase.SQLITE_MAX_LIKE_PATTERN_LENGTHJava 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상