0

ここで説明されているように、HABTM チェックボックスを使用しています。

http://railscasts.com/episodes/17-habtm-checkboxes

問題は、プロジェクトですべてのカテゴリを使用できるわけではありませんが、この方法を使用すると、ユーザーはブラウザでコードを調べて、送信する前にカテゴリ ID を変更できます。

このエクスプロイトを防ぐにはどうすればよいですか? 私が見る唯一のオプションは、有効なカテゴリ ID のリストと比較しながらすべてのカテゴリ ID をブルート フォース ループし、一致しないものを拒否することです。

ありがとう

4

1 に答える 1

1

モデルに検証を追加することをお勧めしますProject。プロジェクトに割り当てられたカテゴリがそのプロジェクトに割り当て可能であることを確認する必要があります。その後、コントローラーは検証エラーをユーザーに表示できます。

class Project < ActiveRecord::Base
  validates :categories_are_available

  private

  def categories_are_available
    # code that checks available categories
  end
end
于 2013-11-11T16:01:13.157 に答える