0
こんにちは私は、Railsのセキュリティホールのためにアプリケーションが悪用されているGITHUBで何が起こったのかを考えてNOOB質問をしています。アサインメントアサインメントから属性を保護する方法
Railsでオブジェクト属性を保護するのに、適用可能な場合でも値を割り当てることができます。
おかげ
こんにちは私は、Railsのセキュリティホールのためにアプリケーションが悪用されているGITHUBで何が起こったのかを考えてNOOB質問をしています。アサインメントアサインメントから属性を保護する方法
Railsでオブジェクト属性を保護するのに、適用可能な場合でも値を割り当てることができます。
おかげ
は実は3.1は、おそらくあなたはを見てみたいものである役割を持つ大量の割り当てを処理するための新しい組み込みの方法を追加しましたレール。
リリースは、基本的にはhere
を指摘し、それは次のように動作します。
class User < ActiveRecord::Base
attr_accessible :name
attr_accessible :name, :role, :as => :admin
end
これが何を行うことができますすることで、ユーザーのいずれかに自分の情報を更新できるようにするには、次の方法を使用することができるということですお使いのコントローラ:
@user.update_attributes(params[:user])
そして、その使用方法は、Userモデルで:role
属性を更新ことはできません。しかし、あなたはあなたの管理者ユーザーを持っている場合、ユーザーは次の構文、その後、別のコントローラでの役割をすることができます管理:
@user.update_attributes(params[:user], :as => :admin)
そして、それは:role
属性が同様に
を更新することができるようになりますおかげDanneManneに役立ちます。私はちょうどそれをします。 – chell