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


172

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

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

request.remote_ip
request.env['HTTP_X_REAL_IP']

Ответы:



44

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


7

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

request.remote_ip

2

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


0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.