我正在使用HABTM复选框,如下所述:
http://railscasts.com/episodes/17-habtm-checkboxes
问题并非所有类别都可用于项目,但使用此方法,用户可以在浏览器中检查代码,并在提交之前更改类别ID。
如何防止此漏洞利用?我看到的唯一选择是强制循环遍历所有类别ID,同时将它们与有效类别ID列表进行比较,并拒绝那些不匹配的类别ID。
由于
答案 0 :(得分:1)
我建议您为Project
模型添加验证。它应该检查分配给项目的类别是否可以分配给该项目。然后控制器可以向用户显示验证错误。
class Project < ActiveRecord::Base
validates :categories_are_available
private
def categories_are_available
# code that checks available categories
end
end