Rails: Client-IP-Adresse abrufen


172

Wie kann in Rails die IP-Adresse des Clients, der eine Verbindung zum Server herstellt, am besten ermittelt werden?

Hier sind zwei Möglichkeiten, die ich gefunden habe:

request.remote_ip
request.env['HTTP_X_REAL_IP']

Antworten:



44

request.remote_ipist eine Interpretation aller verfügbaren IP-Adressinformationen und wird eine Vermutung anstellen. Wenn Sie direkt auf die Variablen zugreifen, übernehmen Sie die Verantwortung dafür, sie in der richtigen Rangfolge zu testen. Proxies führen eine Reihe von Headern ein, die Umgebungsvariablen mit unterschiedlichen Namen erstellen.


7

Holen Sie sich die Client-IP mit dem folgenden Befehl:

request.remote_ip

2

Ich fand es auch request.env['HTTP_X_FORWARDED_FOR']sehr nützlich, wenn ich request.remote_ipzurückkehre127.0.0.1


0

Für alle Interessierten, die eine neuere Schiene und das Devise-Juwel verwenden: Die Option "Trackable" von Devise enthält eine Spalte für current / last_sign_in_ip in der Benutzertabelle.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.