Rieles: obtenga la dirección IP del cliente

172

En Rails, ¿cuál es la mejor manera de obtener la dirección IP del cliente que se conecta al servidor?

Aquí hay dos formas que he encontrado:

request.remote_ip
request.env['HTTP_X_REAL_IP']
ma11hew28
fuente

Respuestas:

44

request.remote_ipes una interpretación de toda la información de dirección IP disponible y hará una mejor suposición. Si accede a las variables directamente, asume la responsabilidad de probarlas en el orden de precedencia correcto. Los proxies introducen una serie de encabezados que crean variables de entorno con diferentes nombres.

tadman
fuente
7

Obtenga la ip del cliente usando el comando:

request.remote_ip
puneet18
fuente
2

También me pareció request.env['HTTP_X_FORWARDED_FOR']muy útil en los casos en que request.remote_ipregresa127.0.0.1

alikk
fuente
0

Para cualquier persona interesada y que use un riel más nuevo y la gema Devise: la opción "rastreable" de Devise incluye una columna para current / last_sign_in_ip en la tabla de usuarios.

NorseGaud
fuente