Commit 21a45b4e authored by Holger Just's avatar Holger Just

[#676] Enforce UTF-8 encodings on the params hash

Contributed by Toshi MARUYAMA
parent 2f4afeeb
...@@ -43,6 +43,24 @@ class ApplicationController < ActionController::Base ...@@ -43,6 +43,24 @@ class ApplicationController < ActionController::Base
end end
end end
# FIXME: Remove this when all of Rack and Rails have learned how to
# properly use encodings
before_filter :params_filter
def params_filter
self.utf8nize!(params) if RUBY_VERSION >= '1.9'
end
def utf8nize!(obj)
if obj.is_a? String
obj.respond_to?(:force_encoding) ? obj.force_encoding("UTF-8") : obj
elsif obj.is_a? Hash
obj.each {|k, v| obj[k] = self.utf8nize!(v)}
elsif obj.is_a? Array
obj.each {|v| self.utf8nize!(v)}
else
obj
end
end
before_filter :user_setup, :check_if_login_required, :set_localization before_filter :user_setup, :check_if_login_required, :set_localization
filter_parameter_logging :password filter_parameter_logging :password
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment