我为sql查询创建的包装器是否安全?

时间:2019-05-07 13:39:04

标签: typescript sqlite

我正在尝试为一个小的sqlite创建一个包装器,我知道创建动态查询对SQL不利,但是我想知道这是否安全

async create(item: T): Promise<sqlite3.RunResult> {
    // tslint:disable-next-line: no-parameter-reassignment
    const values = Object.keys(item).map(_ => _ = '?').join(', ');
    const query = `INSERT INTO ${this.table} VALUES (${values})`;
    const stmt = await this.database.prepare(query);

    return stmt.run(item);
}

因此,基本上,我用我选择的表名称(在代码中)调用具有此功能的类,用户输入对象属性值,并读取所述对象的键,然后使用表创建查询我选择的名称,并从对象生成占位符值,这样安全吗?

0 个答案:

没有答案