Rails: obtenir l'adresse IP du Client
dans les Rails, Quelle est la meilleure façon d'obtenir l'adresse ip du client se connectant au serveur?
voici deux façons que j'ai trouvées:
request.remote_ip
request.env['HTTP_X_REAL_IP']
5 réponses
j'utiliserais simplement le request.remote_ip
c'est simple et ça marche. Une raison quelconque vous avez besoin d'une autre méthode?
Voir: Obtenir l'adresse IP réelle dans les locaux Rails environnement de développement pour d'autres choses que vous pouvez faire avec ip client server.
request.remote_ip
est une interprétation de toutes les informations D'adresse IP disponibles et il fera une meilleure estimation. Si vous accédez directement aux variables, vous assumez la responsabilité de les tester dans l'ordre de priorité correct. Les mandataires introduisent un certain nombre d'en-têtes qui créent des variables d'environnement avec des noms différents.
Obtenir l'adresse ip du client à l'aide de la commande:
request.remote_ip
pour toute personne intéressée et utilisant des rails plus récents et L'option" trackable " de Devise de Devise de Devise comprend une colonne pour current/last_sign_in_ip dans la table users.
j'ai trouvé request.env['HTTP_X_FORWARDED_FOR']
très utile aussi dans les cas où request.remote_ip
retourne 127.0.0.1