i_d_1
@i_d_1
Программист PHP

Безопасный ли запрос?

Заранее прошу прощения за тупой вопрос. Все когда то задавали тупые вопросы.

Безопасный ли запрос такого вида
Model::find()->where(["=", "city", $_COOCKIE['city']])->all();

и такой save
$model->city = $_COOCKIE['city'];
$model->save();

И если нет что же с этим делать (как вы понимаете если на сайв можно задать правила валиадации то на where правил валидации нет)
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
qonand
@qonand
Software Engineer
Безопасный ли запрос такого вида
Model::find()->where(["=", "city", $_COOCKIE['city']])->all();

вставлять данные полученные от пользователя в запрос - это плохая практика и лучше так вообще не делать. Что касается безопасности - SQL-инъекцию в запросе такого вида сделать не получиться, т.к. встроенный строитель запросов экранирует данные.
и такой save
$model->city = $_COOCKIE['city'];
$model->save();

тут все зависит от множества факторов: от того какой тип данных может принимать атрибут, какие правила валидации для него предусмотрены в модели, что Вы делаете дальше с этим атрибутом (как экранируете его на выводе). Например, если параметр может принимать строку и в модели Вы его валидируете как простую строку, но при этом нигде не экранируете его вывод - это уже дыра в безопасности
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Безопасный ли запрос?

нет

что же с этим делать

пускать через валидацию
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы