Use Rack Request to check proxy forwarded IPs

The current implementation ignores X-Forward-For headers from HTTP proxies. This can expose clients that are using proxies to demo local code to remote security exploits. This fixes the issue by using the `Rack::Request#ip` method that checks both `env['REMOTE_ADDR'] and `env['HTTP_X_FORWARDED_FOR']`.