Как это остановить массовое назначение?

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

Я не понимаю разницы между использованием update_attributes (params [: my_form]) или create (params [: my_form]) и установкой одного поля одним? Разве оба не так уязвимы?

В чем разница между НЕ иметь attr_accessible и делать это ...

@model_object = ModelObject.new
@model_object.create(params[:model_object_params])

И иметь attr_accessible и делать это ...

@model_object = ModelObject.new
@model_object.field1 = params[:model_object_params][:field1]
@model_object.field2 = params[:model_object_params][:field2]
@model_object.field3 = params[:model_object_params][:field3]
@model_object.save!

Не оба эти метода создания записи такой же уязвимый? Хакер / взломщик может отправить URL-адрес обоим этим методам, и оба будут делать одно и то же, верно?

Или использование attr_accessible и обновление полей одно за другим делают что-то другое или каким-то образом становится безопаснее?

где все эти методы, которые я нахожу для использования attr_accessible, не имеют для меня никакого смысла. Кажется, он делает одно и то же двумя разными способами. Что мне не хватает?

Спасибо.

6
задан dsmorey 21 June 2011 в 03:15
поделиться