вопрос о массовом назначении и связанном с ним риске безопасности - PullRequest
0 голосов
/ 03 февраля 2011

У меня есть вопрос о решении, которое я считаю безопасным, но хотелось бы получить второе мнение:

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

В этом конкретном случае, однако, мы работаем с движком рельсов, который потребовал бы много переделок (которых мы бы предпочли избежать), если мы не оставим атрибут массово-назначаемый.наше решение заключается в следующем: в действии user # update в контроллере мы просто удаляем атрибут role из хэша params перед его обновлением:

params[:user].delete(:roles)

Хотя я понимаю, что это не идеальное решение,это безопасно?

Спасибо за ваш опыт,
Эрвин

1 Ответ

1 голос
/ 03 февраля 2011

Ваше решение работает, но не настолько идеально.

Я думаю, что этот скринкаст находится на современном уровне:

http://railscasts.com/episodes/237-dynamic-attr-accessible

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...