Rotaie: ottieni l'indirizzo IP del client


172

In Rails, qual è il modo migliore per ottenere l'indirizzo IP del client che si connette al server?

Ecco due modi che ho trovato:

request.remote_ip
request.env['HTTP_X_REAL_IP']

Risposte:



44

request.remote_ipè un'interpretazione di tutte le informazioni disponibili sull'indirizzo IP e farà un'ipotesi migliore. Se accedi direttamente alle variabili, ti assumi la responsabilità di testarle nell'ordine di precedenza corretto. I proxy introducono un numero di intestazioni che creano variabili di ambiente con nomi diversi.


7

Ottieni ip client usando il comando:

request.remote_ip

2

Ho trovato request.env['HTTP_X_FORWARDED_FOR']molto utile anche nei casi in cui i request.remote_ipritorni127.0.0.1


0

Per chiunque sia interessato e utilizzi un binario più recente e la gemma Devise: l'opzione "tracciabile" di Devise include una colonna per current / last_sign_in_ip nella tabella degli utenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.