相关疑难解决方法(0)

如何在 Knex 中像查询一样转义 %?

我正在使用knex生成我的 SQL 查询。在knex文档中,它显示了这一点

knex('users').where('columnName', 'like', '%rowlikeme%')
Run Code Online (Sandbox Code Playgroud)

现在在我的应用程序中,我这样做了:

function search(term) {
  term = "%" + term + "%";
  knex('table').where('description', 'like', term);
  // ...
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能逃脱,%以便它也%作为术语的一部分进行搜索?

谢谢。

javascript mysql node.js knex.js

8
推荐指数
3
解决办法
1万
查看次数

knex.where 是否容易受到 sql 注入攻击?

这是/sf/answers/3523659331/的后续问题。

它提到knex('table').where('description', 'like', '%${term}%')容易受到 sql 注入攻击。甚至评论也提到第一种情况容易发生注入攻击。然而,提供的参考文献从未提到.where容易受到注入攻击。

这是一个错误吗?为什么 knex 允许.where容易受到注入攻击而不是.whereRaw('description like \'%??%\'', [term]). 不是在这两种情况下参数都被参数化了吗?

javascript sql knex.js

4
推荐指数
1
解决办法
1380
查看次数

标签 统计

javascript ×2

knex.js ×2

mysql ×1

node.js ×1

sql ×1