15

關閉IP欺騙檢查中的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 

我仍然得到錯誤。我錯過了什麼?

+0

我在尋找一個答案也是這樣。你確定沒什麼好擔心的嗎? –

+0

我打算關閉這個問題,因爲我將它添加到了production.rb中,它實際上解決了這個問題。你有什麼問題,斯蒂芬妮? –

回答

29

請注意,方法「config.action_controller.ip_spoofing_check =」具有從3.0開始的棄用警告,現在不適用於3.2。使用下面的方法調用,而不是:

config.action_dispatch.ip_spoofing_check = false

+0

哇,默認情況下是這樣嗎? – Nathan

+0

是的,Nathan。這是默認情況下。 – jmonteiro

+6

新的調用不再起作用,看起來唯一的解決方案是讓你的web服務器去掉兩個標籤中的一個(HTTP_CLIENT_IP或者X-FORWARDED-FOR)https://github.com/rails/rails/blob/ 0c7a283140e750800a9479f6b1736ca1f7005948/actionpack/lib/action_dispatch/middleware/remote_ip.rb – Kevin

-1

在我發佈之後,這開始爲我工作。當我將它添加到environment.rb時,我做了一個錯誤測試。

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

該鏈接無效,但在作者的GitHub頁面上找到了降價鏈接:https://github.com/phinze/writeheavy.com/blob/master/_posts/2011-07-31-when-its -ok到開啓的護欄-IP-惡搞,checking.markdown – ifightcrime