Отключение проверки ip spoofing в приложении Rails 3
Проблема
Я получаю сообщение об ошибке:
ActionDispatch::RemoteIp::IpSpoofAttackError (IP spoofing attack?!HTTP_CLIENT_IP="203.29.78.157"HTTP_X_FORWARDED_FOR="172.20.19.214, 116.50.58.180"):
когда некоторые люди посещают мое приложение Rails 3.0.10 и регистрируются или подтверждают свой адрес электронной почты. Я использую Devise.
Что я пробовал
http://pivotallabs.com/users/jay/blog/articles/1216-standup-4-7-2010-disabling-rails-ip-spoofing-safeguard
Итак, внутри production.rb
я добавил:
config.action_controller.ip_spoofing_check = false
Я также попытался добавить его в environment.rb
:
Things3::Application.configure do
config.action_mailer.delivery_method = :smtp
config.action_controller.ip_spoofing_check = false
end
Я все еще получаю ошибку. Что мне не хватает?
Ответы
Ответ 1
Обратите внимание, что метод "config.action_controller.ip_spoofing_check =" имеет предупреждения об устаревании начиная с 3.0 и теперь не будет работать с 3.2. Вместо этого используйте следующий вызов метода:
config.action_dispatch.ip_spoofing_check = false
Ответ 2
Это сообщение в блоге могло бы помочь: объясняет, почему эта ошибка возникает, и как отключить ip spoofing, сохраняя при этом проверку безопасности https://github.com/phinze/writeheavy.com/blob/master/_posts/2011-07-31-when-its-ok-to-turn-of-rails-ip-spoof-checking.markdown
Ответ 3
Это начало работать для меня сразу после того, как я разместил это. Я ошибся, проверяя его, когда добавлю его к environment.rb
.