Rails: получить IP-адрес клиента

172

В Rails, как лучше всего получить IP-адрес клиента, подключающегося к серверу?

Вот два способа, которые я нашел:

request.remote_ip
request.env['HTTP_X_REAL_IP']
ma11hew28
источник

Ответы:

44

request.remote_ipявляется интерпретацией всей доступной информации об IP-адресе, и она сделает правильное предположение. Если вы обращаетесь к переменным напрямую, вы берете на себя ответственность за их тестирование в правильном порядке приоритета. Прокси-серверы вводят несколько заголовков, которые создают переменные среды с разными именами.

Тадман
источник
7

Получить IP-адрес клиента с помощью команды:

request.remote_ip
puneet18
источник
2

Я нашел request.env['HTTP_X_FORWARDED_FOR']очень полезным в тех случаях, когда request.remote_ipвозвращается127.0.0.1

alikk
источник
0

Для всех, кто интересуется и использует более новые рельсы и опцию Devise: опция «trackable» Devise включает столбец current / last_sign_in_ip в таблице пользователей.

NorseGaud
источник