Обложка канала

ANTICHAT Channel

7910 @antichat

Официальный канал https://forum.antichat.ru одного из лучших форумов для специалистов в области IT

ANTICHAT Channel

4 года назад
Открыть в
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])