Dans Rails, quel est le meilleur moyen 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']
la source
Dans Rails, quel est le meilleur moyen 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']
J'utiliserais simplement le request.remote_ip
qui est simple et cela fonctionne. Avez-vous besoin d'une autre méthode?
Voir: Obtenir une adresse IP réelle dans l'environnement de développement Rails local pour d'autres choses que vous pouvez faire avec les adresses IP du serveur client.
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 proxies introduisent un certain nombre d'en-têtes qui créent des variables d'environnement avec des noms différents.
Obtenez l'IP du client à l'aide de la commande:
request.remote_ip
J'ai trouvé request.env['HTTP_X_FORWARDED_FOR']
très utile aussi en cas de request.remote_ip
retour127.0.0.1
Pour toute personne intéressée et utilisant des rails plus récents et la gemme Devise: l'option "trackable" de Devise inclut une colonne pour current / last_sign_in_ip dans la table des utilisateurs.