在Rails 3应用程序中关闭ip欺骗检查

时间:2011-10-25 10:32:26

标签: ruby-on-rails-3 configuration devise environment-variables

问题

我收到了错误:

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

我仍然得到错误。我错过了什么?

3 个答案:

答案 0 :(得分:29)

请注意,方法“config.action_controller.ip_spoofing_check =”具有从3.0开始的弃用警告,现在不适用于3.2。请改用以下方法:

config.action_dispatch.ip_spoofing_check = false

答案 1 :(得分:8)

此博文可能有所帮助:它解释了为什么会出现此错误以及如何在保留安全检查的同时禁用IP欺骗https://github.com/phinze/writeheavy.com/blob/master/_posts/2011-07-31-when-its-ok-to-turn-of-rails-ip-spoof-checking.markdown

答案 2 :(得分:-1)

在我发布这个之后,这开始为我工作了。当我将它添加到environment.rb时,我在测试时犯了一个错误。