Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript knex.where容易受到sql注入攻击吗?_Javascript_Sql_Knex.js - Fatal编程技术网

Javascript knex.where容易受到sql注入攻击吗?

Javascript knex.where容易受到sql注入攻击吗?,javascript,sql,knex.js,Javascript,Sql,Knex.js,这是我们的后续问题 它提到knex('table')。其中('description','like','%${term}%')容易受到sql注入攻击。甚至有评论也提到第一个案例容易受到注射攻击。然而,提供的参考从未提到。其中容易受到注入攻击 这是个错误吗?为什么knex允许.where容易受到注入攻击,而不允许.whereRaw('description like\'%??%\',[term])。在这两种情况下,参数不是都被参数化了吗 这是我们的后续问题 它提到knex('table')。其中(

这是我们的后续问题

它提到
knex('table')。其中('description','like','%${term}%')
容易受到sql注入攻击。甚至有评论也提到第一个案例容易受到注射攻击。然而,提供的参考从未提到
。其中
容易受到注入攻击

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

这是我们的后续问题

它提到knex('table')。其中('description','like','%${term}%')容易受到sql注入攻击。甚至有评论也提到第一个案例容易受到注射攻击。然而,所提供的参考文献从未提到,在哪里容易发生注射攻击

我是knex的维护者,我在那里评论过

knex('table').where('description', 'like', `%${term}%`)
不易受到SQL注入攻击

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

当您将值直接插入sql字符串时,
.whereRaw
易受攻击(例如,标识符替换)

正确使用
。在这种情况下,RAW
可以是:

.whereRaw("?? like '%' || ? || '%'", ['description', term])
所有标识符都正确引用,并且
术语
作为参数绑定发送给DB


所以答案和添加到答案中的大多数评论都是完全错误的。

@tadman这是一个真正的问题吗?我看了knex的
where
文档,但没有提到它易于sql注入。事实上,唯一提到的sql注入攻击是针对
Raw
-。这是令人担忧的。knex的其他哪些功能容易受到sql注入攻击?这里是knex的维护。你好我只想在这里提到,这个问题的前提都是
false
,请忽略@tadman的评论。在这种情况下,甚至不应该使用
??
绑定。tl;假博士news@MikaelLepist谢谢你的澄清。