Prevent mass assignment to Post#last_noted_at (#2704).

This commit is contained in:
evazion
2016-10-06 03:03:08 +00:00
parent 6b6f78da57
commit ab5fd48280
3 changed files with 13 additions and 1 deletions

View File

@@ -45,7 +45,7 @@ class Post < ActiveRecord::Base
has_many :favorites, :dependent => :destroy
validates_uniqueness_of :md5
validate :post_is_not_its_own_parent
attr_accessible :source, :rating, :tag_string, :old_tag_string, :old_parent_id, :old_source, :old_rating, :last_noted_at, :parent_id, :has_embedded_notes, :as => [:member, :builder, :gold, :platinum, :janitor, :moderator, :admin, :default]
attr_accessible :source, :rating, :tag_string, :old_tag_string, :old_parent_id, :old_source, :old_rating, :parent_id, :has_embedded_notes, :as => [:member, :builder, :gold, :platinum, :janitor, :moderator, :admin, :default]
attr_accessible :is_rating_locked, :is_note_locked, :as => [:builder, :janitor, :moderator, :admin]
attr_accessible :is_status_locked, :as => [:admin]

View File

@@ -103,6 +103,14 @@ class PostsControllerTest < ActionController::TestCase
@post.reload
assert_equal("bbb", @post.tag_string)
end
should "ignore restricted params" do
post :update, {:id => @post.id, :post => {:last_noted_at => 1.minute.ago}}, {:user_id => @user.id}
assert_redirected_to post_path(@post)
@post.reload
assert_nil(@post.last_noted_at)
end
end
context "revert action" do

View File

@@ -1723,5 +1723,9 @@ class PostTest < ActiveSupport::TestCase
end
end
end
context "Mass assignment: " do
should_not allow_mass_assignment_of(:last_noted_at).as(:member)
end
end