Namespace
Methods
C
N
Constants
TRUSTED_PROXIES = %r{ ^127\.0\.0\.1$ | # localhost ^(10 | # private IP 10.x.x.x 172\.(1[6-9]|2[0-9]|3[0-1]) | # private IP in the range 172.16.0.0 .. 172.31.255.255 192\.168 # private IP 192.168.x.x )\. }x
 

IP addresses that are “trusted proxies” that can be stripped from the comma-delimited list in the X-Forwarded-For header. See also: en.wikipedia.org/wiki/Private_network#Private_IPv4_address_spaces

Attributes
[R] check_ip
[R] proxies
Class Public methods
new(app, check_ip_spoofing = true, custom_proxies = nil)
# File actionpack/lib/action_dispatch/middleware/remote_ip.rb, line 18
def initialize(app, check_ip_spoofing = true, custom_proxies = nil)
  @app = app
  @check_ip = check_ip_spoofing
  if custom_proxies
    custom_regexp = Regexp.new(custom_proxies)
    @proxies = Regexp.union(TRUSTED_PROXIES, custom_regexp)
  else
    @proxies = TRUSTED_PROXIES
  end
end
Instance Public methods
call(env)
# File actionpack/lib/action_dispatch/middleware/remote_ip.rb, line 29
def call(env)
  env["action_dispatch.remote_ip"] = GetIp.new(env, self)
  @app.call(env)
end