aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGareth Rees <gareth@mysociety.org>2014-10-01 13:00:01 +0100
committerLouise Crow <louise.crow@gmail.com>2014-12-22 16:57:38 +0000
commitc011d3dc05059985c370731d9291a747ceffaa76 (patch)
tree1bef80aef247a5c38d0f67541266cde317e9c357
parentc359f1cf2e1fd7cd4359a75f1522d9ffdadb80d4 (diff)
Fix unvalidated redirects
-rw-r--r--app/controllers/track_controller.rb2
-rw-r--r--app/controllers/user_controller.rb4
2 files changed, 3 insertions, 3 deletions
diff --git a/app/controllers/track_controller.rb b/app/controllers/track_controller.rb
index 72c092221..72662ab9e 100644
--- a/app/controllers/track_controller.rb
+++ b/app/controllers/track_controller.rb
@@ -216,7 +216,7 @@ class TrackController < ApplicationController
end
flash[:notice] += "</ul>"
- redirect_to params[:r]
+ redirect_to URI.parse(params[:r]).path
end
diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb
index c2cc426d4..bb1415baf 100644
--- a/app/controllers/user_controller.rb
+++ b/app/controllers/user_controller.rb
@@ -253,7 +253,7 @@ class UserController < ApplicationController
def signout
self._do_signout
if params[:r]
- redirect_to params[:r]
+ redirect_to URI.parse(params[:r]).path
else
redirect_to :controller => "general", :action => "frontpage"
end
@@ -593,7 +593,7 @@ class UserController < ApplicationController
end
@user.receive_email_alerts = params[:receive_email_alerts]
@user.save!
- redirect_to params[:came_from]
+ redirect_to URI.parse(params[:came_from]).path
end
private