【问题标题】:Turning off ip spoofing check in Rails 3 application在 Rails 3 应用程序中关闭 ip 欺骗检查
【发布时间】:2011-10-25 10:32:25
【问题描述】:

问题

我收到了错误:

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 应用程序并登录或确认他们的电子邮件地址时。我正在使用设计。

我的尝试

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

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

【问题讨论】:

  • 我也在寻找这个问题的答案。你确定没有什么好担心的吗?
  • 我将结束这个问题,因为我将它添加到 production.rb 并且它实际上解决了这个问题。斯蒂芬妮有什么问题?

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


【解决方案1】:

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

config.action_dispatch.ip_spoofing_check = false

【讨论】:

  • 哇,这是默认的吗?
  • 是的,内森。默认情况下是这样。
  • 新调用不再有效,看来唯一的解决方案是让您的网络服务器剥离两个标签之一(HTTP_CLIENT_IP 或 X-FORWARDED-FOR)github.com/rails/rails/blob/…
  • 最初添加到 environment.rb 时这对我不起作用;但是在将它添加到 application.rb 之后,它就可以工作了(从 Rails 3.2.13 开始)。
【解决方案2】:

这篇博文可能会有所帮助:它解释了为什么会发生此错误以及如何在保留安全检查的同时禁用 ip 欺骗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 时,我测试它时出错了。

【讨论】:

    猜你喜欢
    • 2015-03-12
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    相关资源
    最近更新 更多