SQLiteDatabase.SqliteMaxLikePatternLength 字段

定义

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
属性

注解

SQLite 的默认 LIKE 和 GLOB 实现中使用的模式匹配算法可以表现出 O(N^2) 性能(其中 N 是模式中的字符数),某些病理情况。 为了避免拒绝服务攻击,LIKE 或 GLOB 模式的长度限制为SQLITE_MAX_LIKE_PATTERN_LENGTH字节。 此限制的默认值为 50000。 新式工作站可以相对快速地评估 50000 字节的病理 LIKE 或 GLOB 模式。 当模式长度变为数百万字节时,才会出现拒绝服务问题。 然而,由于最有用的 LIKE 或 GLOB 模式长度最多为几十个字节,因此,如果开发人员知道外部用户能够生成任意模式,则谨慎的应用程序开发人员可能希望将此参数减少到几百个范围内的某个内容。

适用于 . 的 android.database.sqlite.SQLiteDatabase.SQLITE_MAX_LIKE_PATTERN_LENGTHJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于