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



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



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



request.remote_ip
request.env['HTTP_X_REAL_IP']
489   5  

5 ответов:

Я бы просто использовать request.remote_ip Это просто, и это работает. Есть причины, по которым вам нужен другой метод?

посмотреть: получить реальный IP-адрес в локальной среде разработки Rails для некоторых других вещей, которые вы можете сделать с ip-адреса клиент-сервера.

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

получить ip клиента с помощью команды:

request.remote_ip

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

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

Comments

    Ничего не найдено.