invalid byte sequence in UTF-8 in JSON param filtering
jpslav opened this issue · comments
JP Slavinsky commented
See the application#routing_error (ArgumentError) "invalid byte sequence in UTF-8"
exception emails.
Exception info below -- needs investigation.
An ArgumentError occurred in application#routing_error:
invalid byte sequence in UTF-8
config/initializers/filter_parameters.rb:36:in `block in <top (required)>'
-------------------------------
Request:
-------------------------------
ERROR: Failed to generate exception summary:
ActionView::Template::Error: invalid byte sequence in UTF-8
/home/ostaccounts/src/accounts-4b54b4f/config/initializers/filter_parameters.rb:36:in `block in <top (required)>'
/home/ostaccounts/src/accounts-4b54b4f/lib/json_and_string_parameter_filter.rb:46:in `call'
/home/ostaccounts/src/accounts-4b54b4f/lib/json_and_string_parameter_filter.rb:46:in `block in run'
/home/ostaccounts/src/accounts-4b54b4f/lib/json_and_string_parameter_filter.rb:45:in `each'
/home/ostaccounts/src/accounts-4b54b4f/lib/json_and_string_parameter_filter.rb:45:in `run'
/home/ostaccounts/src/accounts-4b54b4f/config/initializers/filter_parameters.rb:40:in `block in <top (required)>'
Failing line:
value_filters = [Proc.new { |value| value =~ /^[^@]+@[^.]+\..+/ }]
Dante Soares commented
This is just people sending us invalid strings. Need to filter them out. For example:
irb(main):001:0> "hello \255".split(',')
ArgumentError: invalid byte sequence in UTF-8
from (irb):1:in `split'
from (irb):1
from /Users/dante/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-3.2.22/lib/rails/commands/console.rb:47:in `start'
from /Users/dante/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-3.2.22/lib/rails/commands/console.rb:8:in `start'
from /Users/dante/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-3.2.22/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
https://robots.thoughtbot.com/fight-back-utf-8-invalid-byte-sequences
Dante Soares commented
Fixed by the Rails team only in Rails 5...