Что защищает от инъекции PHP?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Что защищает от инъекции PHP?

Сообщение MarkL »

Есть поля ввода, которые не фильтруются(encode/purifer/etc.) - служат для того, чтобы администратор сайта мог вставлять свой код(например: мэта-теги для подтверждения владения сайтом).

Изображение

Но важно ограничить возможность добавления кода. Но при попытке внедрить код - что-то его самостоятельно отфильтровало:
Изображение

Это фреймворк позаботился об безопасности? Какой механизм стоит за этим?

P.S.
Код вывода приложу ниже. В параметры значение попадает через Boostrap-компонент.

Код: Выделить всё

<?= Yii::$app->params['general.headerCode'] ?>
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Что защищает от инъекции PHP?

Сообщение ElisDN »

Это делает Html::encode($code)
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Re: Что защищает от инъекции PHP?

Сообщение MarkL »

ElisDN писал(а): 2020.12.24, 17:40 Это делает Html::encode($code)
Сам я его не использовал. Или он где-то на уровне фреймворка ещё подключается? То это, наверное, невозможно - тогда абсолютно любой элементы View декодился.

Ещё раз покажу как выводится у меня этот код:
Изображение
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Что защищает от инъекции PHP?

Сообщение ElisDN »

Ну так текст из переменной и выводится простым текстом:

Код: Выделить всё

$a = "123 <?php echo 4567 ?> 89";
echo $a;
Или вы думаете, что внутри строки PHP-код выполнится?
Ответить