ActiveForm и безопасность

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
belotur
Сообщения: 14
Зарегистрирован: 2017.05.06, 00:04

ActiveForm и безопасность

Сообщение belotur »

Доброго дня.
Столкнулся с проблемой: используя ActiveForm создаю набор полей формы ($form->field($model, 'field_name')->label(''); и после сохранения "небезопасных" данных в базу эти данные "срабатывают" при отображении формы (типа "><script>alert('Get his coockies');</script><", с кавычками).
Если бы я "вручную" создавал элементы формы, я бы использовал <input ... value="<?= Html::escape($model->field_name) ?>">.
На чистом PHP - htmlspecialchars, в Smarty - {$model->field_name|escape}.
А что делать с полями ActiveForm? Подскажите, пожалуйста.
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: ActiveForm и безопасность

Сообщение rodion_zlobin »

Html::encode() используйте
belotur
Сообщения: 14
Зарегистрирован: 2017.05.06, 00:04

Re: ActiveForm и безопасность

Сообщение belotur »

Это, конечно, спасибо... Но где его использовать-то? Всё ж инкапсулировано в вызов вида:

$form->field($model, 'field_name')->label('')

Соответственно, метод field интересует только экземпляр модели и название поля, всё остальное происходит внутри. И там нет никаких спасительных действий??
Аватара пользователя
onmotion
Сообщения: 31
Зарегистрирован: 2015.12.25, 16:03
Откуда: Санкт-Петербург
Контактная информация:

Re: ActiveForm и безопасность

Сообщение onmotion »

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

$form->field($model, 'field_name')->textInput()->label(false)
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: ActiveForm и безопасность

Сообщение Nerf »

Какая-то дичь. Значения атрибутов кодируются из коробки при использовании ActiveForm, yii\helpers\Html и прочего. При выводе данных кодировать их - ваша задача. Если вы про ActiveField::label(), то там да, ничего не кодируется, о чем есть замечание в доках.
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: ActiveForm и безопасность

Сообщение rodion_zlobin »

А как в label значение то попадает? Может просто вывод переменной где-то не заметили
belotur
Сообщения: 14
Зарегистрирован: 2017.05.06, 00:04

Re: ActiveForm и безопасность

Сообщение belotur »

Ребяты, лейбл ПУСТ. Ломаются поля ввода <imput ... value=""> <script>alert('I am bad code');</script> ">. Вот всё, что между value=" и "> - вываливается как есть...

onmotion, в php "" == false вернёт true, короче не принципиально.
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: ActiveForm и безопасность

Сообщение Nerf »

belotur писал(а): 2017.05.09, 21:57 Ребяты, лейбл ПУСТ. Ломаются поля ввода <imput ... value=""> <script>alert('I am bad code');</script> ">. Вот всё, что между value=" и "> - вываливается как есть...

onmotion, в php "" == false вернёт true, короче не принципиально.
1) Ничего там не вываливается 100%. Приведите код, а не пишите бред.
2) В php есть тождественные (не)равенства...
belotur
Сообщения: 14
Зарегистрирован: 2017.05.06, 00:04

Re: ActiveForm и безопасность

Сообщение belotur »

Люди, члены core-team, все остальные - то же, простите мне мою панику!!!
Да, первый же ответ был в цель... В лейаут грузится компонент, в представлении которого выводится значение из того самого поля и там нет Html::escape... Уже поправил. Сразу не заметили потому что для тестирования использовали скрипт переводящий страницу на один известный видео-сервис и пока я не посмотрел что выводится в поле после сохранения - создавалось вышеописанное впечатление.

Касательно "бред" и прочие слюни... я понимаю, тут не support с гарантиями, но, вроде как, сообщество. Откуда негатив?.. Хотя современный менталитет, экономическая, политическая ситуации, системный кризис... - всё это должно (призванно) из нас делать злобных ненавидящих всех во круг быдляков. Не прогибайтесь, коллеги!
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: ActiveForm и безопасность

Сообщение ElisDN »

belotur писал(а): 2017.05.13, 10:34 Касательно "бред" и прочие слюни...
Это не слюни и не негатив.
Ответить