Yii SQL-injection
Тут попалась скуля в Yii, в общем то довольно простая и понятная, но информации по скулям в Yii в инете мало, поэтому кажется что стоит написать.
PHP фремворк Yii использует свою собственную ORM - Yii ActiveRecord.
В этом ORM можно выбирать объекты безопасно:
User::find()->where(['email'=>$email]);
User::find()->where(['IN','user.id',$idList]);
Но также where (а вместе с ним разнообразные andWhere, orWhere и т.д.) может принимать строку, что может привести к скуле при неаккуратном использовании:
User::find()->where("lower(username)=$username")
Хотя вот так тоже все хорошо:
User::find()->where('lower(username)=:username', [':username' => $username])