Rails: Uzyskaj adres IP klienta

172

W Railsach, jaki jest najlepszy sposób uzyskania adresu IP klienta łączącego się z serwerem?

Oto dwa sposoby, które znalazłem:

request.remote_ip
request.env['HTTP_X_REAL_IP']
ma11hew28
źródło

Odpowiedzi:

44

request.remote_ipjest interpretacją wszystkich dostępnych informacji o adresie IP i pozwoli na najlepsze przypuszczenie. Jeśli uzyskujesz dostęp do zmiennych bezpośrednio, przejmujesz odpowiedzialność za ich przetestowanie we właściwej kolejności. Serwery proxy wprowadzają szereg nagłówków, które tworzą zmienne środowiskowe o różnych nazwach.

tadman
źródło
7

Uzyskaj adres IP klienta za pomocą polecenia:

request.remote_ip
puneet18
źródło
2

Okazało się również request.env['HTTP_X_FORWARDED_FOR']bardzo przydatne w przypadkach request.remote_ipzwrotów127.0.0.1

alikk
źródło
0

Dla wszystkich zainteresowanych i korzystających z nowszych railsów i opcji "śledzenia" Devise: Devise zawiera kolumnę dla current / last_sign_in_ip w tabeli użytkowników.

NorseGaud
źródło