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']

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.



2

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


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.