aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/rails-2.1.0/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorfrancis <francis>2008-09-04 09:43:09 +0000
committerfrancis <francis>2008-09-04 09:43:09 +0000
commitddd7b8fdae167564bf7af3978e0de417e266ab02 (patch)
treed66ea7290c8b11ef88a8bc46b52ece182374d47a /vendor/rails-2.1.0/actionpack/lib/action_controller
parent5afe256f0b5097de3b9fc86b6ec8ddf8392a40f7 (diff)
Remove silly failsafe thing
http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/63127dc2bda58ace/000f7d4d8098a0a4?lnk=raot http://www.ruby-forum.com/topic/154836 http://rails.lighthouseapp.com/attachments/25763/forwarded_client_ip_with_test.patch
Diffstat (limited to 'vendor/rails-2.1.0/actionpack/lib/action_controller')
-rwxr-xr-xvendor/rails-2.1.0/actionpack/lib/action_controller/request.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/vendor/rails-2.1.0/actionpack/lib/action_controller/request.rb b/vendor/rails-2.1.0/actionpack/lib/action_controller/request.rb
index a35b90419..f275ec11b 100755
--- a/vendor/rails-2.1.0/actionpack/lib/action_controller/request.rb
+++ b/vendor/rails-2.1.0/actionpack/lib/action_controller/request.rb
@@ -140,8 +140,10 @@ module ActionController
return @env['REMOTE_ADDR']
end
+ remote_ips = @env['HTTP_X_FORWARDED_FOR'] && @env['HTTP_X_FORWARDED_FOR'].split(',')
+
if @env.include? 'HTTP_CLIENT_IP'
- if @env.include? 'HTTP_X_FORWARDED_FOR'
+ if remote_ips and !remote_ips.include?(@env['HTTP_CLIENT_IP'])
# We don't know which came from the proxy, and which from the user
raise ActionControllerError.new(<<EOM)
IP spoofing attack?!
@@ -152,8 +154,7 @@ EOM
return @env['HTTP_CLIENT_IP']
end
- if @env.include? 'HTTP_X_FORWARDED_FOR' then
- remote_ips = @env['HTTP_X_FORWARDED_FOR'].split(',')
+ if remote_ips
while remote_ips.size > 1 && TRUSTED_PROXIES =~ remote_ips.last.strip
remote_ips.pop
end