2016-06-27 14 views
0

Railsの開発者は、典型的な、強力なパラメータの構築に精通している必要があります。Rails:コントローラ認証はセッション認証に必要ですか?

private 
def object_params 
    params.require(:object).permit(:object_data, ...) 
end 

私は私が仕事に始めているプロジェクトのコードを見てきた、と私はこれが使用されていないことに気づきましたどこでも。作成の代わりに、彼らは単にparams[:object]を使用してそこで停止します。

私は心配していましたので、curlでいくつかのPOSTを送信して、自分で「オブジェクト」を作成することにしました。アプリケーションのセッションにはユーザー権限が必要なため、それぞれ拒否されました(ありがたいことに)。そしてカールからは誰もいませんでした。

とにかくログインしなければならないとは思っていませんでしたが、強いパラメータがないために不快感を感じます。

アプリケーションはまだ脆弱ですか?場合によっては強力なパラメータを追加する必要がありますか?宝石を通じて探し


  • 、私が考案がここでどんな効果を持っているでしょう唯一のものであるように感じます。
    しかしまだ不安です。
+0

[Rails Controller docs](http://edgeguides.rubyonrails.org/action_controller_overview.html#strong-parameters)で説明されているように、強いパラメータはモデルへの質量割り当てを保護するためのものです。彼らはあなたが特別にそれをプログラムしない限り、個別にパラメータを使うこととは何の関係もありません。 –

答えて

0

アプリケーションによってはまったく異なります。認証されたすべてのユーザーが管理者権限を持っているか、権限が他の場所でチェックされている場合、これらの権限を持つすべてのユーザーが任意の属性に書き込むことができれば、強力なパラメーターは必要ありません。

私は個人的には、何があっても強いパラメータを使用します。それはコンベンションであり、コントローラの意図された使用を伝える。すべての属性がゲームであっても、引き続き許可を使用できます!それを伝える。

関連する問題