如何在Ruby on Rails中阻止特定的IP地址

时间:2014-04-21 14:33:02

标签: ruby-on-rails security ip

我负责使用Ruby on Rails制作的一些实时网站。我有一些IP地址不断攻击这些网站,我想阻止他们的IP地址。我知道他们可以通过代理绕过这堵墙,但我确实希望让他们更难,并且很想知道我需要在我的ruby on rails app中设置它。谢谢大家!

1 个答案:

答案 0 :(得分:8)

class ApplicationController < ActionController::Base
  before_filter :block_ip_addresses

  protected

  def block_ip_addresses
    head :unauthorized if current_ip_address == "XX.XX.XX.XX"
  end

  def current_ip_address
    request.env['HTTP_X_REAL_IP'] || request.env['REMOTE_ADDR']
  end
end

感谢:https://stackoverflow.com/a/10895438/1466095