、およびSecret
の 3 つのフィールドを持つモデルがあります。
ユーザーがとのみを入力できるフォームがあります。違います。
新しいオブジェクトに値を渡す最良の方法は何ですか?f1
f2
f3
f1
f2
f3
と書く@secret = Secret.new(params[:secret])
と、悪意のあるユーザーが私のモデルにパスf3
する可能性があり、モデルに保存されます。
ユーザーが余分な値を渡さないようにする最善の方法は何ですか?
http://guides.rubyonrails.org/security.html#mass-assignmentを読みましたが、3 つのバリエーションがあります:
1) ブラックリスト ( attr_protected :f3
)
2) ホワイトリスト ( attr_accessible :f1, :f2
) 3) グローバル ホワイトリスト (構成行による
強制)attr_accessible
config.active_record.whitelist_attributes = true
どのような方法が最適ですか?