В Rails, как лучше всего получить IP-адрес клиента, подключающегося к серверу?
Вот два способа, которые я нашел:
request.remote_ip
request.env['HTTP_X_REAL_IP']
источник
В Rails, как лучше всего получить IP-адрес клиента, подключающегося к серверу?
Вот два способа, которые я нашел:
request.remote_ip
request.env['HTTP_X_REAL_IP']
Я бы просто использовал request.remote_ip
это просто и это работает. По какой причине вам нужен другой метод?
Смотрите: Получить реальный IP-адрес в локальной среде разработки Rails для некоторых других вещей, которые вы можете делать с ip клиент-сервера.
request.remote_ip
является интерпретацией всей доступной информации об IP-адресе, и она сделает правильное предположение. Если вы обращаетесь к переменным напрямую, вы берете на себя ответственность за их тестирование в правильном порядке приоритета. Прокси-серверы вводят несколько заголовков, которые создают переменные среды с разными именами.
Получить IP-адрес клиента с помощью команды:
request.remote_ip
Я нашел request.env['HTTP_X_FORWARDED_FOR']
очень полезным в тех случаях, когда request.remote_ip
возвращается127.0.0.1
Для всех, кто интересуется и использует более новые рельсы и опцию Devise: опция «trackable» Devise включает столбец current / last_sign_in_ip в таблице пользователей.