This project is archived and is in readonly mode.
Make Request#remote_ip handle edge case with REMOTE_ADD being a comma-separated list
Reported by Michael Klishin (antares) | July 1st, 2008 @ 10:19 AM | in 2.x
I found out that Request#remote_ip fails with ArgumentError when REMOTE_ADDR is a comma-separated list.
In some particular cases with Nginx and some ISPs REMOTE_ADDR happens to be a comma-separated list of IP addresses so checking for local request passes a string with commas to IPAddr.new and causes exceptions. Exception notifier plugin does such checks in production environment, for instance. Semantics of REMOTE_ADDR being a list is unclear and probably an edge case but it happens and is painful to track down.
This patch makes Request#remote_ip gracefully handle cases when REMOTE_ADDR is a comma-separated list of IPs.
Comments and changes to this ticket
-
Michael Klishin (antares) July 1st, 2008 @ 10:16 AM
Here is a blog post on this topic, it also may happen to HTTP_X_FORWARDED_FOR.
-
Pratik July 4th, 2008 @ 01:07 AM
- Title changed from [PATCH] make Request#remote_ip handle edge case with REMOTE_ADD being a comma-separated list to Make Request#remote_ip handle edge case with REMOTE_ADD being a comma-separated list
- Assigned user changed from Pratik to Jeremy Kemper
-
Michael Sheakoski July 17th, 2008 @ 02:25 AM
+1, this fixed exceptions i've been getting about "ip spoofing"
-
Repository August 28th, 2008 @ 07:03 AM
- State changed from new to resolved
(from [e42a235dd18a39ccc83382365088de96f24fa236]) Request#remote_ip handles the uncommon case that REMOTE_ADDR is a comma-separated list.
[#523 state:resolved]
Signed-off-by: Jeremy Kemper jeremy@bitsweat.net http://github.com/rails/rails/co...
-
Repository August 28th, 2008 @ 07:03 AM
(from [e21ed3e45429cf4a7ee4f5b6b550f457f0c4c313]) Request#remote_ip handles the uncommon case that REMOTE_ADDR is a comma-separated list.
[#523 state:resolved]
Signed-off-by: Jeremy Kemper jeremy@bitsweat.net http://github.com/rails/rails/co...
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
<h2 style="font-size: 14px">Tickets have moved to Github</h2>
The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>
People watching this ticket
Attachments
Tags
Referenced by
- 523 Make Request#remote_ip handle edge case with REMOTE_ADD being a comma-separated list [#523 state:resolved]
- 523 Make Request#remote_ip handle edge case with REMOTE_ADD being a comma-separated list [#523 state:resolved]