Остановить привязку модели формы LaravelCollective, перезаписываемую переменными GET?

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

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

Fireynis 18.05.2018 18:05

Я не говорю о проверке формы. Но предположим, что у вас есть форма с настройками, и вы обновляете форму, кому-то нужно будет только связать вас с этой страницей с указанной переменной & get =, и они смогут обновить поле в этой форме. Это может стать неудобством и угрозой безопасности, если форма будет разделена на вкладки Bootstrap, например, где конечный пользователь не обязательно будет внимательно следить за каждым полем, прежде чем нажимать кнопку «Сохранить / отправить».

The_JohnDavies 18.05.2018 18:07

Если они ссылаются на форму с помощью параметра get, этот параметр будет утерян в сообщении, поскольку ссылка будет той, что есть в форме. Насколько мне известно, параметр get не устанавливает значение в коде.

Fireynis 18.05.2018 18:15

Переменные GET устанавливают фактические значения, показанные в форме. Если форма имеет одно или два поля, это может быть очевидно, например, для больших форм или форм, охватывающих разные вкладки, пользователь может нажать кнопку «Отправить» и отправить данные обратно на сервер, которые он не хотел публиковать.

The_JohnDavies 18.05.2018 18:16

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

Fireynis 18.05.2018 18:20

Да, последняя версия Laravel с (Request $request), переданным методу в Контроллере, а затем все в файле Blade View, которое ссылается на Form ::, имеет точно такой же симптом.

The_JohnDavies 18.05.2018 19:34

Вам все равно придется сделать что-то вроде value = $ request-> getparamname. Я не думаю, что это просто автозагрузка. Я быстро разверну установку laravel и посмотрю, работает ли она

Fireynis 18.05.2018 19:46

Спасибо, я действительно считаю это серьезной угрозой безопасности, особенно в любых популярных приложениях / безопасных формах?

The_JohnDavies 19.05.2018 19:32

Как вы попали на?

The_JohnDavies 23.05.2018 11:48
JS - События опций формы
JS - События опций формы
В продолжение предыдущей статьи CSS - стили, связанные с вводом формы , в этой статье мы будем использовать JS для взаимодействия с формами, на этот...
CSS - Стили, связанные с вводом формы
CSS - Стили, связанные с вводом формы
Общими стилями ввода для форм являются Input (включая Text, Radio, checkbox), Select и Textarea, из которых Input относительно прост, поэтому в этой...
Создание многостраничной формы заявления о приеме на работу с помощью Angular
Создание многостраничной формы заявления о приеме на работу с помощью Angular
Наличие на корпоративном сайте форм заявлений о приеме на работу, или "трудовых анкет", экономит время и деньги как для соискателей, так и для...
0
9
154
0

Другие вопросы по теме