SQLiteDatabase.SqliteMaxLikePatternLength Feld
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Maximale Länge eines LIKE- oder GLOB-Musters Der Musterabgleichsalgorithmus, der in der standardmäßigen LIKE- und GLOB-Implementierung von SQLite verwendet wird, kann O(N^2) Leistung (wobei N die Anzahl der Zeichen im Muster ist) für bestimmte pathologische Fälle aufweisen.
[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
Feldwert
Value = 50000- Attribute
Hinweise
Maximale Länge eines LIKE- oder GLOB-Musters Der Musterabgleichsalgorithmus, der in der standardmäßigen LIKE- und GLOB-Implementierung von SQLite verwendet wird, kann O(N^2) Leistung (wobei N die Anzahl der Zeichen im Muster ist) für bestimmte pathologische Fälle aufweisen. Um Denial-of-Service-Angriffe zu vermeiden, ist die Länge des LIKE- oder GLOB-Musters auf SQLITE_MAX_LIKE_PATTERN_LENGTH Bytes beschränkt. Der Standardwert dieses Grenzwerts beträgt 50000. Eine moderne Arbeitsstation kann sogar ein pathologisches LIKE- oder GLOB-Muster von relativ schnell 50000 Bytes auswerten. Das Denial-of-Service-Problem tritt nur dann ins Spiel, wenn die Musterlänge in Millionen von Bytes fällt. Da die meisten nützlichen LIKE- oder GLOB-Muster höchstens ein paar Dutzend Byte lang sind, können vorsichtige Anwendungsentwickler diesen Parameter auf etwas im Bereich von ein paar Hundert reduzieren, wenn sie wissen, dass externe Benutzer beliebige Muster generieren können.
Java-Dokumentation für android.database.sqlite.SQLiteDatabase.SQLITE_MAX_LIKE_PATTERN_LENGTH
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.