assertValidDesktopDatabaseName()
function assertValidDesktopDatabaseName(databaseName): void;
Defined in: packages/rxdb-adapter-sqlite-core/dist/desktop/desktop-storage.d.ts:48
校验逻辑数据库名。
Parameters
| Parameter | Type | Description |
|---|---|---|
databaseName | string | 待校验的逻辑名 |
Returns
void
Remarks
入参来自 renderer,即便有 contextIsolation 也不可信,host 侧必须再校验一次。
允许集是白名单而非黑名单:字符集里没有 /、\、:,也不允许以 . 开头,
于是 ..、绝对路径、盘符、~ 展开、URL scheme 全部落在集合外,
不需要逐一枚举攻击形态。WINDOWS_RESERVED_DEVICE_NAME_PATTERN 是唯一必须补的黑名单——
那类名字合法却不指向文件。
Throws
非法时抛 RxDBAdapterDesktopError,code 为 invalid_database_name