Устраняет ли CakePHP уязвимости массового назначения автоматически при сохранении измененных данных?

Изменить:

Получив дополнительную информацию от DCoder, я искал здесь фразу «уязвимость массового назначения». То есть, используя преимущества методов, которые сохранят все действительные поля в базе данных, независимо от их присутствия в исходной форме (, делая их уязвимыми для манипулирования данными POST, содержащими больше [возможно, более важных] полей, чем предполагаемые ).

Затем два общих ответа называются «белый список» и «черный список»; поля белого списка, предназначенные для изменения, или поля черного списка, которые не следует изменять.

Затем следует мой вопрос: :CakePHP автоматически вносит в белый список только те поля в форме отправки, или мне (и другим фанатам Cake )необходимо следить за тем, чтобы мы надлежащим образом вносили в белый или черный список?


Исходный вопрос:

Cake предлагает множество отличных способов создания форм и обработки их почти автоматически. Размышляя о безопасности, я задумался :о том, знает ли Cake о том, какие поля существуют в отправленной форме, или он просто примет любое допустимое поле? Возьмите следующий сценарий, если я не понимаю смысла (, и кто-то может отредактировать мой вопрос, чтобы он был лучше сформулирован, если они могут придумать лучший способ выразить его):

Допустим, я разрешаю своим пользователям редактировать свой профиль. Я создаю форму с полями для имени пользователя, электронной почты -и пароля под действием edit.

Умный пользователь хочет войти и изменить свое поле is_adminс falseна true, поэтому он использует приложение, такое как firebug, для отправки пользовательских данных сообщения в действие edit.который включает поле is_admin, установленное на true.

Вопрос в том, поймет ли Cake сам, что is_adminне был в исходной форме, или мне нужно быть осторожным, чтобы явно указать только те поля, которые может изменить данное действие? Есть ли более простой способ?

Благодарю вас!

Джеймс

8
задан xtraorange 5 May 2012 в 07:40
поделиться