2016-01-14 2 views
0

Недавно я обновил свой проект с 4.2 до 5.1.Laravel 5 Upgrade - Синтаксис формы Blade

Я заметил, что формы в лезвиях теперь должны использовать {!! ... !!} скобки вокруг них.

В моем проекте более 900 экземпляров форм-вызовов.

Из всего, что я могу видеть на сайте laravel, я могу только обновить каждую строку html тега, где я использую форму.

Это разумное решение? Принимая во внимание, я должен сделать это более 900 раз.

+0

Не лучше ли просто придерживаться 4.2 тогда? –

+0

Оглядываясь назад, это замечательная вещь, я слишком долго прошел процесс миграции, чтобы вернуться назад, к сожалению –

+0

Вы проверили [Руководство по обновлению] (https://laravel.com/docs/5.1/upgrade#upgrade- 5.0), предоставленные документами Laravel? Прокрутите вниз до раздела «Изменения метки клинка». –

ответ

1

Laravel docs состояние следующее:

Для повышения уровня безопасности по умолчанию, Laravel 5.0 ускользает все выходные с обеих {{ }} и {{{ }}} Лезвия директив. Была введена новая директива {!! !!} для отображения необработанного, необработанного вывода. Самый безопасный вариант при обновлении приложения - использовать только новую директиву {!! !!}, если вы уверены, что безопасно отображать необработанные данные.

Однако, если вы должны использовать старый синтаксис клинка, добавьте следующие строки в нижней части [email protected]:

\Blade::setRawTags('{{', '}}'); 
\Blade::setContentTags('{{{', '}}}'); 
\Blade::setEscapedContentTags('{{{', '}}}'); 

Это не должно быть сделано легко, и может сделать ваше приложение более уязвимо для XSS подвигов. Кроме того, комментарии с {{-- больше не будут работать.

Это относительно обновления с 4.2 до 5.0, но поскольку обновление с 5.0 до 5.1 минимально, это будет по-прежнему применяться.

Смежные вопросы