質量割り当ては、アプリケーションがハッシュの値からレコードを作成できるようにするRailsの機能です。発生する可能性のある2つの異なる質量割り当て警告があります。最初は、質量割り当てが実際に行われるときです。例: -False質量の割り当てに関する警告は、Brakeman Gemによってmodel.newおよびmodel.update_attibutesおよびmodel.createでスローされます。
User.new(params[:user])
私は、テーブルで利用可能なフィールドを使用して直接マッピングするためにハッシュを使用していませんが、
User.new(:first_name => params[:first_name], :last_name => params[:last_name ], :address => params[:address])
または
user.update_attributes(:first_name => params[:first_name], :last_name => params[:last_name ], :address => params[:address])
はなぜ、これが大量の割り当ての脆弱性につながっている:代わりに私のような何かをやっていますか?私が盲目的にハッシュを割り当てているわけではないので、私はテーブルの属性のほんの僅かしか更新しません。
user = User.new
user.first_name = params[:first_name]
user.last_name = params[:last_name ],
user.address = params[:address]
user.save
しかし、これは制動手が問題としてこれを警告されないように、不要なコードを書くようなものです。このため
一つの修正は、次の操作を行っています。これは実際には1行ではなく4行で同じことをしています。
ここで実際の問題が何かを理解してもらうか、これが誤ったアラートであることを確認してください。また、この誤ったアラートが表示されないようにする方法もありますか?
私は制動手3.0.5、ルビー1.8.7、Railsの2.3.2を使用しています
ありがとうございます@ジャスティン。 –