Yii2 как заэкранировать данные записываемые в БД?

Пример:
$message = new Messages();
$message->message = $this->message;
$message->save()

$this->message; - данные введенные пользователем
  • Вопрос задан
  • 784 просмотра
Решения вопроса 1
kawabanga
@kawabanga
1) При записи данных в базу с помощью AR , строки экранируются. Т.е. у вас не будет там sql инъекции.

Чистить теги можно двумя методами:
1) при выводе в вьюхе, например:
<?= Html::encode($model->message) ?>

2) Чистить с помощью Htmlpurify, в методе beforeSave например:
$this->content = HtmlPurifier::process($this->content) ;
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
DmitryVoronkov
@DmitryVoronkov
Python Developer
Делай что хочешь с данным, с помощью валидаторов (я просто не понял, что ты подразумевал под словом "экранировать").
Ответ написан
Комментировать
SamDark
@SamDark
Yii2 core team
Никак. Используйте параметры (prepared statements).
Ответ написан
Ваш ответ на вопрос

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

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