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

Joh*_*her 15 configuration environment-variables devise ruby-on-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
Run Code Online (Sandbox Code Playgroud)

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

Joh*_*how 29

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

config.action_dispatch.ip_spoofing_check = false

  • 新的调用不再有效,似乎唯一的解决方案是让您的Web服务器剥离两个标签中的一个(HTTP_CLIENT_IP或X-FORWARDED-FOR)https://github.com/rails/rails/blob/0c7a283140e750800a9479f6b1736ca1f7005948 /actionpack/lib/action_dispatch/middleware/remote_ip.rb (7认同)

dgi*_*rez 8

这篇博客文章可能有所帮助:它解释了为什么会出现此错误以及如何在保留安全检查的同时禁用IP欺骗https://github.com/phinze/writeheavy.com/blob/master/_posts/2011-07-31-when -它的-OK-到回合制的护栏-IP-恶搞,checking.markdown

  • 该链接不起作用,但在作者的GitHub页面上找到了降价的链接:https://github.com/phinze/writeheavy.com/blob/master/_posts/2011-07-31-when-its- OK到开启的护栏-IP-恶搞,checking.markdown (2认同)