    # File lib/action_controller/request.rb, line 138
        def remote_ip
          if TRUSTED_PROXIES !~ @env['REMOTE_ADDR']
            return @env['REMOTE_ADDR']
          end

          if @env.include? 'HTTP_CLIENT_IP'
            if @env.include? 'HTTP_X_FORWARDED_FOR'
              # We don't know which came from the proxy, and which from the user
              raise ActionControllerError.new("IP spoofing attack?!\nHTTP_CLIENT_IP=\#{@env['HTTP_CLIENT_IP'].inspect}\nHTTP_X_FORWARDED_FOR=\#{@env['HTTP_X_FORWARDED_FOR'].inspect}\n")
            end
            return @env['HTTP_CLIENT_IP']
          end

          if @env.include? 'HTTP_X_FORWARDED_FOR' then
            remote_ips = @env['HTTP_X_FORWARDED_FOR'].split(',')
            while remote_ips.size > 1 && TRUSTED_PROXIES =~ remote_ips.last.strip
              remote_ips.pop
            end

            return remote_ips.last.strip
          end

          @env['REMOTE_ADDR']
        end