Laravel 5.x, Коллективный Laravel 5.x
Всякий раз, когда есть экземпляр Form :: и входных элементов в шаблоне лезвия Laravel, всегда можно (независимо от того, объявлена ли модель, к которой привязана форма, или нет) перезаписать переменные, используя? GET = переменные в URL-адресе.
Это может представлять угрозу безопасности. Хотя иногда это полезно, люди могут предоставлять ссылки на формы и перезаписывать скрытые поля или важные поля, которые нельзя изменять без ведома пользователей?
Этот код:
{!! Form::textarea('content', null, ['rows' => '4']) !!}
{!! Form::textarea('content', '', ['rows' => '4']) !!}
{!! Form::textarea('content', "", ['rows' => '4']) !!}
{!! Form::textarea('content', "something specific", ['rows' => '4']) !!}
позволяет легко переопределить содержимое сгенерированного текстового поля по умолчанию, перейдя на /page?content=something+bad
Я не говорю о проверке формы. Но предположим, что у вас есть форма с настройками, и вы обновляете форму, кому-то нужно будет только связать вас с этой страницей с указанной переменной & get =, и они смогут обновить поле в этой форме. Это может стать неудобством и угрозой безопасности, если форма будет разделена на вкладки Bootstrap, например, где конечный пользователь не обязательно будет внимательно следить за каждым полем, прежде чем нажимать кнопку «Сохранить / отправить».
Если они ссылаются на форму с помощью параметра get, этот параметр будет утерян в сообщении, поскольку ссылка будет той, что есть в форме. Насколько мне известно, параметр get не устанавливает значение в коде.
Переменные GET устанавливают фактические значения, показанные в форме. Если форма имеет одно или два поля, это может быть очевидно, например, для больших форм или форм, охватывающих разные вкладки, пользователь может нажать кнопку «Отправить» и отправить данные обратно на сервер, которые он не хотел публиковать.
Я не думаю, что это так работает. Я думаю, что формы извлекаются только из флэш-значений и только тогда, когда они специально созданы. У вас есть пример того, как это происходит?
Да, последняя версия Laravel с (Request $request), переданным методу в Контроллере, а затем все в файле Blade View, которое ссылается на Form ::, имеет точно такой же симптом.
Вам все равно придется сделать что-то вроде value = $ request-> getparamname. Я не думаю, что это просто автозагрузка. Я быстро разверну установку laravel и посмотрю, работает ли она
Спасибо, я действительно считаю это серьезной угрозой безопасности, особенно в любых популярных приложениях / безопасных формах?
Как вы попали на?




Я не совсем уверен в том, что вы делаете, но вам почти никогда не следует брать входные данные и напрямую отображать их без какой-либо очистки.