Rails: obtenir l'adresse IP du client


172

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

Réponses:



44

request.remote_ipest 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.


7

Obtenez l'IP du client à l'aide de la commande:

request.remote_ip

2

J'ai trouvé request.env['HTTP_X_FORWARDED_FOR']très utile aussi en cas de request.remote_ipretour127.0.0.1


0

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.