モデルで attr_accessible の使用を開始して、大量割り当ての問題を解決したいと考えました。私はそれがどのように機能するかを理解し、できる限り調査しました。
私が理解していないのは、 update_attributes(params[:my_form]) または create(params[:my_form]) を使用してフィールドを 1 つずつ設定することの違いですか? どちらも同じように脆弱ではありませんか?
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 を使用してフィールドを 1 つずつ更新すると、何か違うことをしたり、どういうわけか安全になったりしますか?
attr_accessible を使用して私が見つけたこれらすべての方法は、私には意味がありません。同じことを2つの異なる方法で行っているようです。私は何が欠けていますか?
ありがとう。