Problema con método remote_ip en Rails 2.1

Hola,

al actualizar una de mis aplicaciones a Rails 2.1 me estoy encontrando
problemas con el método remote_ip de ActionController, que se supone
que devuelve la IP del cliente que está accediendo a la aplicación.

Sin embargo parece que hay ciertos problemas con algunos clientes
cuando envían la cabecera HTTP_CLIENT_IP y la HTTP_X_FORWARDED_FOR,
pues se supone que en dicho caso no se sabe de cuál de las dos obtener
la IP real del cliente, y ActionController lanza una excepción:

IP spoofing attack?!
HTTP_CLIENT_IP=#{@env[‘HTTP_CLIENT_IP’].inspect}
HTTP_X_FORWARDED_FOR=#{@env[‘HTTP_X_FORWARDED_FOR’].inspect}

Tras tener la aplicación en Rails 2.1 y obtener cientos de mensajes de
error con dicha excepción me llamó la atención que estaban provocando
error peticiones de bots tan importantes como los de Yahoo!

Entiendo muy bien la preocupación de por la seguridad, pero me da que
no se han tenido en cuenta algunas situaciones, como puede ser la de
este bot.

En nuestro caso como no almacenamos ninguna IP hemos parcheado esa
parte y cogiendo la IP de HTTP_CLIENT_IP con más preferencia que la de
HTTP_X_FORWARDED_FOR.

Supongo que os habrá pasado a más de uno. ¿Cómo lo habéis resuelto? Y
sobretodo, ¿qué opináis del asunto?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs