У меня есть вопрос на решение, которое я считаю безопасным, но хотелось бы второе мнение:вопрос о массовом присвоении и связанного с ним риска безопасности
В нашем приложении мы имеем модель пользователя, который имеет атрибут «ролей», , Как правило, у меня не было бы этого атрибута, назначаемого массой, поскольку пользователи имеют возможность обновлять свою собственную информацию и могут манипулировать хэшем post, включающим «роли».
В данном конкретном случае, однако, мы работаем с рельсовым движком, который потребует много усилий (что мы бы предпочли избежать), если мы не оставим атрибут, назначаемый массой.
Теперь наше решение заключается в следующем: В пользователь # обновление действия в контроллере мы просто отогнать роли атрибута из Params хэша, прежде чем она будет обновлена:
params[:user].delete(:roles)
Хотя я понимаю, что это не это идеальное решение, безопасно ли оно?
Спасибо за ваш опыт,
Эрвин
Идеальный ресурс для нашего вопроса. Спасибо – ErwinM