0
我想使用CDbCriteira addInCondition()獲取多個輸入參數(數字未預定義)。此方法是否構成參數化查詢? 我發現這個有爭議的想法:CDbCriteria中的addInCondition()方法「SQL注入證明」?
而且我已經看了the addInCondition() method specification,我不能得到清晰不過。
我想使用CDbCriteira addInCondition()獲取多個輸入參數(數字未預定義)。此方法是否構成參數化查詢? 我發現這個有爭議的想法:CDbCriteria中的addInCondition()方法「SQL注入證明」?
而且我已經看了the addInCondition() method specification,我不能得到清晰不過。
的這部分代碼:
$condition=$column.'='.self::PARAM_PREFIX.self::$paramCount;
$this->params[self::PARAM_PREFIX.self::$paramCount++]=$value;
似乎是用於存儲參數化的值。
然後在查詢生成器中,它將使用它們作爲編號參數。
我在一個我自己編寫的腳本中這樣做,我真的懷疑Qian(或其他什麼)會錯過它並留下代碼注入。
此外,你測試它嗎?您可以添加隨機SQL並查看它是否被轉義。
我沒有測試,因爲我不能打破迄今綁定字符串參數(數量未知)。 – 2014-10-27 15:00:17