首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何清理sql.js输入?

如何清理sql.js输入?
EN

Stack Overflow用户
提问于 2021-10-03 18:41:53
回答 1查看 58关注 0票数 0

我正在使用sql.js管理我为一个电子应用程序创建的SQLite文件。我的问题是,我想确保所有的输入都是经过消毒的。到目前为止,我使用的语句如下:

代码语言:javascript
复制
const SQL = await sqljs();
const db = new SQL.Database();

// These values are just examples and will be user inputs through electron.
let id = 1;
let name = 'row name';

db.run(`INSERT INTO tableName VALUES (${}, 'hello');`);

我非常确定这种方式是不安全的,并且会导致SQL注入。我能做些什么来防止这样的问题?非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-04 02:16:46

您可以使用绑定参数。以下是传递到数据库引擎的值,不会作为SQL语句的一部分进行解析:

代码语言:javascript
复制
let id = 1;
let name = 'row name';

/* Either pass in a dictionary to use named bound parameters */
db.run("INSERT INTO tableName VALUES(:id, :name)", { ':id': id, ':name': name });

/* Or an array to use positional bound parameters */
db.run("INSERT INTO tableName VALUES(?, ?)", [id, name]);

有关更多信息,请访问SQLite documentationsqljs documentation

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69427843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档