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

Zac*_*ear 4 security ip ruby-on-rails

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

Zer*_*ber 10

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
Run Code Online (Sandbox Code Playgroud)

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

  • 实际上,你并不是真的想在控制器中使用它.您希望在IP到达路由器之前阻止它.检查机架攻击宝石,你永远不会回头. (4认同)