我想对多个输入参数使用CDbRiteira addInCondition()(数字不是预定义的)。此方法是否组成参数化查询?我发现了有争议的想法:
- 是的-"由于它使用CDbWriter,我认为它是安全的"-引用
- 否
此外,我还查看了addInCondition()方法规范,但我无法弄清楚。
这部分代码:
$condition=$column.'='.self::PARAM_PREFIX.self::$paramCount;
$this->params[self::PARAM_PREFIX.self::$paramCount++]=$value;
似乎用于存储参数化值。
然后在查询生成器中,它将使用它们作为计数参数。
我在自己制作的脚本中就是这样做的,我真的怀疑钱(或其他什么)会错过它并留下代码注入。
还有,你测试过吗?您可以添加随机SQL,看看它是否被转义。