Condividi tramite


SQLiteDatabase.SqliteMaxLikePatternLength Campo

Definizione

Lunghezza massima di un modello LIKE o GLOB L'algoritmo di ricerca usato nell'implementazione LIKE e GLOB predefinita di SQLite può presentare prestazioni O(N^2) (dove N è il numero di caratteri nel modello) per determinati casi patologici.

[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

Valore del campo

Value = 50000
Attributi

Commenti

Lunghezza massima di un modello LIKE o GLOB L'algoritmo di ricerca usato nell'implementazione LIKE e GLOB predefinita di SQLite può presentare prestazioni O(N^2) (dove N è il numero di caratteri nel modello) per determinati casi patologici. Per evitare attacchi Denial of Service, la lunghezza del modello LIKE o GLOB è limitata a SQLITE_MAX_LIKE_PATTERN_LENGTH byte. Il valore predefinito di questo limite è 50000. Una workstation moderna può valutare anche un modello GLOB o LIKE patologico di 50000 byte relativamente rapidamente. Il problema Denial of Service entra in gioco solo quando la lunghezza del modello diventa in milioni di byte. Tuttavia, poiché i modelli LIKE o GLOB più utili sono al massimo una dozzina di byte di lunghezza, gli sviluppatori di applicazioni prudenti possono voler ridurre questo parametro a qualcosa nell'intervallo di poche centinaia se sanno che gli utenti esterni sono in grado di generare modelli arbitrari.

Documentazione java per android.database.sqlite.SQLiteDatabase.SQLITE_MAX_LIKE_PATTERN_LENGTH.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a