aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/user_controller.rb
diff options
context:
space:
mode:
authorGareth Rees <gareth@mysociety.org>2014-09-09 14:58:27 +0100
committerGareth Rees <gareth@mysociety.org>2014-09-09 20:17:02 +0100
commit6eb64e26f7420d392b9df9998da897f4bd9328c9 (patch)
treecf24d5a274cfe7004b00805ca5d46151a6fbcebf /app/controllers/user_controller.rb
parent8e911d5bd0e60a0e0e4859868662cc176419d2e3 (diff)
Whitelist UserController#signup params0.16.0.9hotfix/0.16.0.9
Protects from mass-assignment exploit attempts
Diffstat (limited to 'app/controllers/user_controller.rb')
-rw-r--r--app/controllers/user_controller.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb
index 175425280..c2cc426d4 100644
--- a/app/controllers/user_controller.rb
+++ b/app/controllers/user_controller.rb
@@ -196,7 +196,7 @@ class UserController < ApplicationController
work_out_post_redirect
@request_from_foreign_country = country_from_ip != AlaveteliConfiguration::iso_country_code
# Make the user and try to save it
- @user_signup = User.new(params[:user_signup])
+ @user_signup = User.new(user_params(:user_signup))
error = false
if @request_from_foreign_country && !verify_recaptcha
flash.now[:error] = _("There was an error with the words you entered, please try again.")
@@ -598,6 +598,10 @@ class UserController < ApplicationController
private
+ def user_params(key = :user)
+ params[key].slice(:name, :email, :password, :password_confirmation)
+ end
+
def is_modal_dialog
(params[:modal].to_i != 0)
end